Globus Transfer Flow on Windows, Pathname issues

135 views
Skip to first unread message

Danny Havert

unread,
May 24, 2023, 10:32:48 AM5/24/23
to Discuss
Hi There,

I am attempting to follow the 'globus-flows-trigger-example' tutorial to transfer a file on my local machine (running Windows) to a server. The problem I am having lies in setting the path to look for files. The files I am looking to transfer are not under my home directory, so in order to access a different folder on the C:/ drive, I need to specify the drive as '/C/rest/of/path' per the instructions here: https://docs.globus.org/how-to/globus-connect-personal-windows/

However, when I specify the path like that in the function argument for trigger_transfer_flow, which looks something like this:
python trigger_transfer_flow.py --watchdir '/C/globus/testdata' --patterns .txt

I get the following error;
FileNotFoundError: [WinError 3] The system cannot find the path specified: '/C/globus/testdata'

Alternatively, if I input the path like '/C:/globus/testdata' then the script runs, but the globus flows action fails because of that pesky colon. I get this error:
"500 Command failed : A filename cannot contain any of the following characters: \\\\ / : * %3F \" < > %7C%0D%0A"

So what am I doing wrong? How can I transfer data from a Windows machine if the data is not in the home directory?

Thanks! 

Vas Vasiliadis

unread,
May 24, 2023, 10:54:20 AM5/24/23
to Danny Havert, Discuss
Hi Danny,

The path specification seems fine, but have you configured Globus Connect Personal on that machine to make "/C/globus/testdata” accessible to Globus? See this link for details: https://docs.globus.org/how-to/globus-connect-personal-windows/#configuration

Thanks,
Vas
> --
> You received this message because you are subscribed to the Google Groups "Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to discuss+u...@globus.org.

Danny Havert

unread,
May 24, 2023, 11:03:09 AM5/24/23
to Discuss, v...@uchicago.edu, Discuss, Danny Havert
Hi Vas,

Yes I have done that. To provide a bit more info, here is the whole error after attempting to run the script:
Watcher Started

Watch directory does not exist.
Traceback (most recent call last):
  File "C:\globus\globus-flows-trigger-examples\trigger_transfer_flow.py", line 100, in <module>
    trigger.run()
  File "C:\globus\globus-flows-trigger-examples\watch.py", line 24, in run
    os.mkdir(self.watch_dir)

FileNotFoundError: [WinError 3] The system cannot find the path specified: '/C/globus/testdata'


As you can see, the error stems from the python call os.mkdir, so I don't think there is anything wrong with my Globus setup. I think the issue is with how the python script parses the path that I input. The path can't have a colon or Globus will get upset, but the path needs to have a colon or Windows gets upset. Sort of a Catch 22...

Best,
Danny

Kurt McKee

unread,
Jun 16, 2023, 4:26:42 PM6/16/23
to Danny Havert, Discuss
Hello Danny!

Sorry for the delayed response. I took a look at the code and made some updates to better accommodate Windows. I've tested it using an absolute path as the `--watch-dir` argument and it seems to be working well now.

Would you update your copy of the repository and re-customize the files with your flow ID, endpoint, etc, and give it another try?


Please let me know if you encounter any other issues. Have a great weekend!

Kurt
--
Kurt McKee
Software Engineer
Globus, University of Chicago

Danny Havert

unread,
Jun 21, 2023, 10:23:24 AM6/21/23
to Discuss, ku...@globus.org, Discuss, Danny Havert
Hi Kurt,

Thanks for your response. I had worked up a really janky solution, but your is much cleaner and works great! Thanks for the help.

Best,
Danny

Reply all
Reply to author
Forward
0 new messages