[Tutor] Designing a program (File-Fetcher)

Christopher Emery cpe.list at gmail.com
Fri Mar 15 03:07:43 CET 2013


Hello Alan,

Thank you for your feedback.  I will break it down in the order that I
had stated in my quick steps, work on each pice getting one part work
at a time build like lays (smile)

Thank You, will post as I do to get advise on improvements or corrections.

Sincerely in Christ,
Christopher

On Thu, Mar 14, 2013 at 9:02 PM, Alan Gauld <alan.gauld at btinternet.com> wrote:
> On 14/03/13 21:25, Christopher Emery wrote:
>
>> Okay, I know the best way to learn how to do something is to jump in so
>> I have decided I would like to make a program (command line) to get
>> files from a website that will be then used later on by another program.
>
> OK, thats a good place to start.
> Next step, having thought about what you want, is to step back and pick a
> single scenario and build that. Once it workls add the next thing you want,
> repeat till complete.
>
>> Program idea - quick steps to do
>> ***
>> file-fetcher (within zip file)
>>
>> get internet location of files (ex: http://www.get_file.get/file_??.zip
>> get name of files
>
> These can be interactively from a user or from a config file
> or from command line arguments.
>
>> check date of file
>> download file
>
> This could use the ftp module if the far end has an ftp server running.
>
>> unzip file
>
> Using the zipfile module?
>
>> delete zip file after saving the txt file
>
> Yep, that looks like a fair start.
>
>> ***
>>
>> Here are the things I need it to do:
>> * if its ran just with its name file-fetcher.py then it should ask for
>> location of file(s)
>
> using input() and a test of sys.argv
>
>> * it should also ask for a list of files to download seperated by a
>> corma "," or by a file with a line by line list of files to download
>
> you need to work out how you identify which it is. For starters stick with a
> single file input by the user...
>
>> * it should be able to download files that are zip or other format such
>> as txt,
>
> ok, but pick one to start.
>
>> * if its ran with file-fetcher.py -L=url -F=file.zip, file.txt
>
> worry about options later and look at the various modules for parsing
> command line options - there are a few variants.
>
>> * if its a zip file it need to extract the file(s) from it
>> * it then need to put the downloaded, extracted files into a directory
>> * it then needs to delete the zip file
>
> zipfile, the os and shutil modules should all help here.
>
>> * it needs to check for the date before downloading the whole file,
>> maybe download the first few bytes to check time stamp
>
> if its ftp then the standard ftp commands should do all you need.
>
>> Okay with the above said, how should I start to do psceduo code?
>
> you almost have above.
>
>> Would each of the above be a function within the program?
>
> probably.
>
>> Any advise on class that exist that can make this process easier?
>
> see above for useful modules.
> read the documentation for each.
> experiment at the >>> prompt.
>
>> How would someone run a command that is normally done at the command
>> line like espeak within python program?
>
> look at the subprocess module documentation.
>
>> Also how would I hide the
>> visual output of a command like espeak, it throws alot of erros but it
>> works, it happens to others using it too.
>
> see last comment.
>
> HTH
> --
> Alan G
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/


More information about the Tutor mailing list