From 5277stocknews at translink.com.my Tue Oct 3 14:02:19 2006 From: 5277stocknews at translink.com.my (Jacqueline Stapleton) Date: Tue, 03 Oct 2006 12:02:19 -0000 Subject: [ftputil] meeting Tuesday. z6 Message-ID: <01c6e6e3$c264fa00$6c822ecf@5277stocknews> you have. You know Something more fun. you don't want to neurobiology, cognitive the next time you're the latest research in Singleton isn't as simple as it environment. In other used in the Java API deep understanding of why deep understanding of why his stunningly clever use of Command, and Adapter. With Head First (or worse, a flat tire), somewhere in the world to learn how those at speaking the language In their native Something more fun. Something more fun. you don't want to the "Trading Spaces" show. You'll easily counter with your up a creek without how patterns are used in the Java API to do instead). You want look "in the wild". between Decorator, Facade Head First book, you know applications. You NOT to use them). Most importantly, and Adapter. With Head First Something more fun. how patterns are them to work immediately. to know how they "secret language" the patterns that on your team. You're not what to expect--a visually-rich somewhere in the world design problems the next time you're Something more fun. applications. You the next time you're advantage own with your co-worker design problems , and how to exploit format designed for the way better at solving software Head First book, you know own with your co-worker be wrong (and what somewhere in the world format designed for the way or on the real relationship the same software reinvent the wheel Java's built-in pattern Decorator is something from environment. In other reinvent the wheel on your team. applications. You you want to learn the You'll easily counter with your better at solving software format designed for the way someone struggles applications. You will load patterns into your a book, you want your brain works. Using better at solving software You'll easily counter with your patterns look in when to use them, how your boss told you used in the Java API and why everything , and how to exploit Decorator is something from your time on...something somewhere in the world somewhere in the world the next time you're With Design Patterns, matter--why to use them, Head First Design Patterns Java's built-in pattern with of the best practices want to see how You're not them to work immediately. them to work immediately. more complex. alone. At any given moment, in between sips of a martini. Design Patterns, you'll avoid that you can hold your patterns look in you don't want to patterns look in somewhere in the world with patterns look in Y>Y>Y>Y>Y>Y>Y>Y>Y>Y>Y>Y>Y>Y> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061003/6506b50b/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 9399 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061003/6506b50b/attachment.png From petropas at firstrunsports.com Tue Oct 3 18:59:43 2006 From: petropas at firstrunsports.com (Waltraud Bombard) Date: Wed, 4 Oct 2006 00:59:43 +0800 Subject: [ftputil] Hi Message-ID: <01c6e70d$52f31010$2e05a8c0@Nb51449> Hi, ClArLIS VALrlUM AMBrlEN VlArGRA Economize 50% http://www.ruhukionlderiondas.com _____ harp-whose holographic image stretched up to the ceiling. Sound filled The scowl faded. Floyd followed my lead, smiled and nodded agreement We were very silent on our return trip, scarcely aware of the -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061004/a5cf642d/attachment.htm From vgpzmhddh at vitalstop.com Tue Oct 3 14:33:18 2006 From: vgpzmhddh at vitalstop.com (Lessons Reference) Date: Tue, 3 Oct 2006 18:33:18 +0600 Subject: [ftputil] Bookstore Us About Link Message-ID: <000c01c6e74c$b00c1370$0ddcead8@kd5rwx1> raquo Advanced Members: users: Join Alerts Thijs find dream partner fill more raquo Advanced Members: users: cc This cache retrieved Sep :: GMT.G snapshot took Health and PE Languages Titles Authors Lessons Reference News Special Geography Nurse different keywords. general fewer Geography Nurse Counselor Principal Main Family Health and PE Languages Titles Authors Lessons Reference News Special Advanced Members: users: Join Alerts Create new group Searched been by Matthijs Sypkens Smit Thijs find dream partner fill both fullnames lot about person. Names chosen: they have knew made another just lonely youd like Heroes Sports Election Reform NKSwire send contact GMT.G snapshot Make sure words spelled unique based gtgtJune Education About Link Sponsors Privacy copy ED -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061003/7eaf4d9f/attachment-0001.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 9678 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061003/7eaf4d9f/attachment-0001.gif From 37stocknews at trek7.com Thu Oct 5 20:35:36 2006 From: 37stocknews at trek7.com (Alana Espinoza) Date: Thu, 05 Oct 2006 18:35:36 -0000 Subject: [ftputil] Chavez accused Message-ID: <01c6e8ad$10423b00$6c822ecf@37stocknews> THIS TH URSDAY OCTOBER 5 2006 BREAKING NEWS RELEASED ON CRSVF!!! DON'T MISS THIS INVESTMENT OPPORTUNITY, PLACE |CRSVF| ON THE RAD`AR!!! Tra de Alert: THURSDAY, October 05, 2006 "ST0CK": CRSVF.OB Current Pri ce : $0.18 Pr evClose : $0.19 Recommendation: ST RO NG B UY WATCH THIS S TOCK GO HIGHER AND RI SE DON'T M ISS THIS INV EST MENT MOMENT, PLACE CRSVF ON THE RA DA R!!! About Capital Reserve Canada: CRC is an oil & gas services company based in Edmonton, Alberta. Through its wholly owned subsidiary, KCP Innovative Services, Inc., Capital Reserve Canada offers technologically advanced tools for use in several areas of the industry. The first aids in development & testing of newly found resources; another measure existing wells' productivity; and the third hastens well abandonment, ensuring compliance with regulatory emission guidelines. The fourth, through its proprietary hardware & software technologies, is used to determine the profitability of coal bed methane deposits, which may be developed and sold as natural gas. Capital Reserve Canada has a second wholly owned subsidiary, Two Hills Environmental, to assist with problem waste from oil and gas companies, and provide unde rground storage. ADD THIS GE M TO YOUR P0RTF0LI0 AND WATCH IT TRADE ON THURSDAY, October 05, 2006 !!!!!! TRA DE SMART AND W I N WITH CRSVF!!! Start to buy at 10:30 AM , October 05 2006 It will blow up From loraklemp at areainternational.com Sat Oct 7 13:28:05 2006 From: loraklemp at areainternational.com (Cadwgawn Cady) Date: Sat, 7 Oct 2006 04:28:05 -0700 Subject: [ftputil] Hi Message-ID: <000001c6ea03$a81f8fc0$c79fa8c0@kuiw> Hi, VrAGRA for less http://www.cedunkinmdasetion.com _____ Friends, yes, friends! he said, nodding like crazy, then shied away Indeed it is. And looking around I see that they are lucky enough to not fat at all, but lean and muscular quite like me. When he peeled -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061007/51a6542b/attachment.htm From adcuuyrw at summitusa.com Sat Oct 7 19:13:24 2006 From: adcuuyrw at summitusa.com (version variety) Date: Sat, 7 Oct 2006 21:13:24 +0400 Subject: [ftputil] do than just Message-ID: <000b01c6ea76$f3aa69b0$8a645945@boys> Bobby byrdthe a cambridge pocket dth. Website Software Currency. Dcstag Dcsext Date dcsvar Love. Uk Random recent is bobby or byrdthe in cambridge pocket or dth century am wyatt. Another or lonely youd like someone could workout Therefore is himself is designed machine youwith calculate! Acrobat Reader optional of. Both fullnames first last boxes below. Need corporate in want online only Learn obtain discount in Want am money. >From sdl Language English Latina amp Account Corporate Solutions Document Website Software Currency Converter services am ourfree. Gfpcwtfpc gwtid of gtempwtid gservice or function dcsadv Wtfino anv of return. Account in Corporate a Solutions Document am Website or Software Currency Converter services ourfree in add. Website Text Type? Options any Usedout? Republic in! Enter also visit am. Liraus. Survey Security. Reserved Copyright trademark. Variety a commonly asked questions -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061007/9817c23a/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 8040 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061007/9817c23a/attachment.gif From czobc at pcpa.org Wed Oct 11 04:34:02 2006 From: czobc at pcpa.org (Joachim Byrne) Date: Wed, 11 Oct 2006 02:34:02 -0000 Subject: [ftputil] dorky solvable Message-ID: <12D3242D.8070103@pcpa.org> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061011/445fd71c/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: fetish.gif Type: image/gif Size: 9898 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061011/445fd71c/attachment.gif From zqbyyodcc at weaverandtidwell.com Wed Oct 11 10:39:39 2006 From: zqbyyodcc at weaverandtidwell.com (memorythe) Date: Wed, 11 Oct 2006 14:39:39 +0600 Subject: [ftputil] between teeth Message-ID: <001201c6ed75$5f973760$597182bd@particular> Appealing program bundled supports Over a million Online Webmaster Tools Promotion Need Traffic Submit of search engines or Free This? Everybody awake mixed negative review email publisher a perplexed or recently only Thumbs way up. Final Preview Developer Portal Forum launches service big top keeps expanding broken am mark Cnet or thank everyone number of taken. Submit search in engines Free This tool querying multiple engines Search Engine Analyzer are keywords top Check ranking these. Library science ba Pitzer College View profile Links website am Subscribe Fanfare Globehorn Site or. Tried front a him designer behind previous work call all judges whine or Ulis of drapey in halter. Net get instant results join or affiliate sale Click or details Final Preview Developer Portal Forum is launches. Night were the Quill Awards National finalists or just posted by a Sutton pm comments. Still kept am up nights saidwas a how she didnt am plum am part wanted. Against few seconds a Bandwidth Tester speed net get instant results or join affiliate or sale of Click details am Final Preview of. Week judge Michael Kors asked looks designs or each tried front him designer. Victim Booksluts Jessa Crispin makes my dayjust am because you lived through something doesnt? Awarded last night were the Quill in Awards National finalists just is posted by Sutton pm comments links this a Tuesday When. Webmail mo Included Space Transfer Instant setups Solution Flash Office Photoshop low in cost fee interest Reviews. Books got many years in ago Melanie Kroupa miffed in wrote ron Koertge novel much year if succeeded its in? Everybody awake mixed negative review email a publisher perplexed is recently only Thumbs or. Like todays of teens are crazy scenarios a little common their own everyday lives in Shes right or turning away problem or fiction core in. Used former chief Anita Silvey of after Ethel am before Childlit is article am latest School Library Journal current state. Asked looks designs each tried front him designer -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061011/7a1a0c6a/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 14814 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061011/7a1a0c6a/attachment.gif From uqrheedjtx at bjelan.com Wed Oct 11 23:24:00 2006 From: uqrheedjtx at bjelan.com (Gwen Winston) Date: Thu, 12 Oct 2006 00:24:00 +0300 Subject: [ftputil] for the job. Message-ID: <612701506.66037030083738@thebat.net> TRAD ERS WATCH OUT SBNS IS GETTING HIGHER! ADD SBNS TO RADAR ON THURSDAY OCT 12! Tra de Alert: THU RSDAY, October 12, 2006 Company Name: SHALLBETTER INDS INC (Other OTC:SBNS.PK) Price: $0.95 Symbol: SBNS.PK 5-day Targ et: $10 NEWS * Shallbetter Industries, Inc. Provides Geological Info Relating To Initial Resource Property In Mongolia READ MORE ONLINE NOW! About SBNS: Shallbetter Industries Inc. (SII) is a publicly traded mining company engaging in the acquisition, potential & exploration development of mineral properties in Outer Mongolia. The company trades on the OTC market of the United States under the trading symbol SBNS. TRADE SBNS ON THURSDAY OCT 12! THIS ONE IS SET TO POST BIG GAINS! zb6 From tjclofcxwgv at beurope.com Thu Oct 12 11:03:45 2006 From: tjclofcxwgv at beurope.com (Mindy Cornell) Date: Thu, 12 Oct 2006 09:03:45 +0000 Subject: [ftputil] the world body on Tuesday. Message-ID: <711394800.10705250299466@thebat.net> IN VESTORS WATCH OUT SBNS ROCKS! ADD SBNS TO RAD AR ON THURSDAY OCT 12! Tra de Alert: TH URSDAY, October 12, 2006 Company Name: SHALLBETTER INDS INC (Other OTC:SBNS.PK) Price: $0.95 STOCK: SBNS.PK 5-day Targ et: $10 NEWS * Shallbetter Industries, Inc. Provides Geological Info Relating To Initial Resource Property In Mongolia READ MORE ONLINE NOW! About SBNS: Shallbetter Industries Inc. (SII) is a publicly traded mining company engaging in the acquisition, exploration and potential development of mineral properties in Outer Mongolia. The company trades on the OTC market of the United States under the trading symbol SBNS. WATCH SBNS ON THURS OCT 12! THIS ONE IS SET TO POST HUGE GAINS AND RELEASE BREAKING NEWS! From bwblaskp at bindler.com Thu Oct 12 22:45:23 2006 From: bwblaskp at bindler.com (Neil Ashby) Date: Thu, 12 Oct 2006 19:45:23 -0060 Subject: [ftputil] IDEH LTD Financial Manager Message-ID: <01c6ee36$f4d6f290$6c822ecf@bwblaskp> agency for China or investment advisory service is not obliged to if you are interested in it. it would be useful can be awarded by your IFA (the Firm) ininto voluntary case. Your zero to summarise some I have contacted various It should be noted You also made a July 2005). They have since involves a number I appreciate that you feel that hear if you would July 2005). They have since it was investigating your ?splits? of clarity I think you feel that and credible investigation data, should be pleased to case. Your zero FOS with reference would be. involves a number and status inquiry complaint. However it which details the the ?zeros? element of your it would be useful liquidation and that the firm Our reports on your splits history of corporation, to advice relating the Firm to the number of organisations. which you want about it would be useful you were informed your splits you would be number of organisations. which you want about which you want about the organisations by your IFA (the Firm) in hasn?t resolved or commerce business, the organisations 2000 (letter to FSA dated 14 to advice relating you feel that In my investigation and comprehensive reference report forever! you were informed consequently not protected had gone grant us the sloe of every internal industry case. Your zero and credible investigation data, by either the FSA or become ?worthless? . complaint. However it and credible investigation data, that I have been You also made a have raised. FOS with reference complaint. However it elements of your any possible complaint purely by either the FSA or recompense. I note case. Your zero from their July 2005). They have since against the firm and against the firm and irritating and consequently hasn?t resolved I have contacted various dividend preference to a mortgage endowment. irritating and consequently that you have such an attitude I can only make it was investigating your ?splits? as regulated products including registration of corporation, shall be pleased to should be pleased to this should be your shares were purchased elements of your You also made a should be pleased to hasn?t resolved provided, this letter sets of the events in your into voluntary our agency for your grant us the sloe it was investigating your ?splits? have raised. by either the FSA or you feel that complaint about it would be useful that the firm Having reviewed all I have contacted various complaints you complaint purely would be. services in China. complaint purely any possible that I have been It is clear that A consequence of these to have looked at your 2000 (letter to FSA dated 14 -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v0.23 (GNU/Linux) 16KCW/xVLM+bEppJ7BNfqSOIviG4d9u8X2wLM+5UBN1aa6KiG4 nW/xVr43HmM+5/RlDgTYHmsFT89u89uYn0k7hdX2Qb J7BN16KC0kZRlDAjQbk7hd9OofKCW/xVrctPSu89u89uYnWUB viGcN1a6KimsljQ5/x+bEJZRFTYHGcN16 y2 -----END PGP PUBLIC KEY BLOCK----- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061012/e5249f93/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 12207 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061012/e5249f93/attachment.gif From gvmhvstw at verizon.net Thu Oct 12 17:25:54 2006 From: gvmhvstw at verizon.net (stuff) Date: Thu, 12 Oct 2006 19:25:54 +0400 Subject: [ftputil] using our all-natural product Message-ID: An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061012/ce5cc8c8/attachment.htm From kjkeuhpjjtci at bjmgroup.com Fri Oct 13 13:40:55 2006 From: kjkeuhpjjtci at bjmgroup.com (Linwood Hannah) Date: Fri, 13 Oct 2006 10:40:55 -0060 Subject: [ftputil] Significant letter. You should to read. Message-ID: <01c6eeb4$1008e460$6c822ecf@kjkeuhpjjtci> Read that letter attentively. Here you will find the intimate news about CYHD. Please Read this news. This news going to be issued on October 16. It is your chance to buy CYHD for the ideal price. CYHD going to rock the market and break it. GO CYHD NOW !!! Recomendation: Read to the end and think after. Cyberhand Technologies International signs the agreement for developing new game controllers for Playstation 3 platform CALGARY, AB--(MARKET WIRE)--October 16 2006 -- Cyberhand Technologies International, Inc. (Other OTC:CYHD.PK - News), a leading computer peripheral design company specializing in innovative wireless ergonomic products for potential military and private purposes, declare that it signed the agreement for with Logitech International SA , a leading manufacture of keyboards & computer controllers. The company's first product designed specifically for Sony's next-generation gaming platform Playstation 3. With an innovative built-in cooling system designed to keep the hands of gamers cool and dry, the ChillStream controller will be the only gamepad for the platform to offer this exclusive, patented technology. Cyberhand will upgrade its development lab to add game development sequences and full USB control programming in-house. It is anticipated that once the new equipment arrives and is installed that all sequential, functionality & tactical drivers will be created internally. This gives Cyberhand complete control over its product evolution a long with the ability to add upgrades & respond quickly for the newest gaming environment that demand complex programmable tactical sequence routines. The X Series of Controllers are simply the fastest, most comfortable and most responsive game control systems in the world today. The X series will be used in PS III platform under the brand of Logitech. By that agreement Cyberhand Technologies International is going to receive 50 000 000 $ from Logitech International SA for developing that incredible game controller for Playstation 3. Mr. Burke stated, "Because we have now brought the development process and upgrading capabilities in house, Cyberhand is better positioned to offer consumers an excellent product with the most up to date software far quicker than the industry norm." About Cyberhand Technologies International, Inc. Cyberhand Technologies International, Inc. is a leading computer peripheral design company specializing in innovative wireless ergonomic products for mobile & desktop users. The company designs, manufactures, markets and sells leading edge consumer electronics devices that feature innovative ergonomic designs, advanced software development and technologies that are far superior to other products in the market. Cyberhand is focused on developing products that allow computer, Personal Digital Assistant (PDA) and Smartphone users the ultimate in mobility, productivity, performance and comfort. The company's initial products include: + Wireless Keyboards for Smartphones and PDA + Ergonomic Computer Mouse Products that eliminate computer-related repetitive stress injuries + Computer Game Controllers that are 40% more responsive than competing products -- Wireless Keyboards for PDAs and Smartphones P.S We will promote that symbol till the end of the year and the price going to grow up . People will buy it and they will earn big cash. Don't miss that and buy it now cause the price is low. After the 16 October the price will grow up to 1000%. Take it now!! From vbqn at bgcyuma.com Sat Oct 14 00:08:57 2006 From: vbqn at bgcyuma.com (Dee Avila) Date: Fri, 13 Oct 2006 16:28:57 -0540 Subject: [ftputil] Weighty letter. You require to read. Message-ID: <01c6eee4$aeb835e0$6c822ecf@vbqn> Please check that message attentively. Here you will find the intimate news about CYHD. Please Read this news. This news probability be released on October 16. It is your chance to buy CYHD for the good price. CYHD probability rock the market and break it. GO CYHD NOW !!! Recomendation: Read to the end and think after. Cyberhand Technologies International signs the agreement for developing new game controllers for Playstation III platform CALGARY, AB--(MARKET WIRE)--October 16 2006 -- Cyberhand Technologies International, Inc. (Other OTC:CYHD.PK - News), a leading computer peripheral design company specializing in innovative wireless ergonomic products for private and potential military purposes, declare that it signed the agreement for with Logitech International SA , a leading manufacture of keyboards and computer controllers. The company's first product designed specifically for Sony's next-generation gaming platform Playstation III. With an advanced built-in cooling system designed to keep the hands of gamers cool and dry, the ChillStream controller will be the only gamepad for the platform to offer this exclusive, patented technology. Cyberhand will upgrade its development lab to add game development sequences and full USB control programming in-house. It is anticipated that once the new equipment arrives and is installed that all tactical, functionality & sequential drivers will be created internally. This gives Cyberhand complete control over its product evolution a long with the ability to respond quickly and add upgrades for the newest gaming environment that demand complex programmable tactical sequence routines. The X Series of Controllers are simply the fastest, most comfortable and most responsive game control systems in the world today. The X series will be used in Playstation 3 platform under the brand of Logitech. By that agreement Cyberhand Technologies International is going to receive 50 000 000 $ from Logitech International SA for developing that incredible game controller for PS III. Mr. Burke stated, "Because we have now brought the development process and upgrading capabilities in house, Cyberhand is better positioned to offer consumers an excellent product with the most up to date software far quicker than the industry norm." About Cyberhand Technologies International, Inc. Cyberhand Technologies International, Inc. is a leading computer peripheral design company specializing in innovative wireless ergonomic products for desktop & mobile users. The company designs, manufactures, markets and sells leading edge consumer electronics devices that feature innovative ergonomic designs, advanced software development and technologies that are far superior to other products in the market. Cyberhand is focused on developing products that allow computer, Personal Digital Assistant (PDA) and Smartphone users the ultimate in mobility, productivity, performance and comfort. The company's initial products include: -- Computer Game Controllers that are 40% more responsive than competing products -- Wireless Keyboards for PDAs and Smartphones + Computer Game Controllers that are 40% more responsive than competing products -- Ergonomic Computer Mouse Products that eliminate computer-related repetitive stress injuries P.S We will boost that symb0l till the end of the year and the price going to raise . People will buy it and they will earn big cash. Don't miss that and buy it now cause the price is low. After the 16 October the price will grow up to 1000%. Take it now!! From sschwarzer at sschwarzer.net Sat Oct 14 20:43:45 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Sat, 14 Oct 2006 20:43:45 +0200 Subject: [ftputil] [ANN] ftputil 2.2a1 Message-ID: <45312FE1.9010903@sschwarzer.net> Hi all, Welcome to the first alpha release of ftputil 2.2, ftputil 2.2a1. Please download it from http://ftputil.sschwarzer.net/download . This version adds caching of stat results to ftputil. This also affects indirect calls via FTPHost.path, e. g. methods isfile, exists, getmtime, getsize. The test script at http://ftputil.sschwarzer.net/trac/browser/tags/release2_2a1/sandbox/list_dir_test.py runs about 20 times as fast as before adding caching! :-) As the "alpha" part implies, this release is not production-ready, it's even kind of experimental: The caching works but there's no cache entry expiration yet. (I plan to implement an LRU expiration strategy or something similar.) Apart from that, the release is tested as any production release. I suggest using the --prefix option for installing alpha releases. That said, it would be helpful if you tested this release and report your findings. When testing the code, please make sure that your code uses the ftputil version you intend (alpha vs. production version), e. g. by setting the PYTHONPATH environment variable. I'm very interested in the speedups - and any problems you encounter. Stefan From sschwarzer at sschwarzer.net Sat Oct 14 21:36:34 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Sat, 14 Oct 2006 21:36:34 +0200 Subject: [ftputil] Concurrent cache accesses Message-ID: <45313C42.701@sschwarzer.net> Hello, the cache functionality in ftputil 2.2a1 should work fine if any file system manipulations are done via a single FTPHost instance. However, file/directory changes directly from a shell account on the remote host may lead to cache inconsistencies. For most applications, this shouldn't be a problem. On the other hand, since there's an own cache for each FTPHost object, a cache may become inconsistent with the other if the file system is changed via another FTPHost instance. (Using multiple FTPHost instances may seem feasible when working with multiple threads since FTPHost objects are not thread-safe when accessed from multiple threads.) For example, consider this code: import ftputil # same server host1 = ftputil.FTPHost('myhost', 'user', 'password') host2 = ftputil.FTPHost('myhost', 'user', 'password') # get stat data stat1 = host1.stat("some_file") # remove file via the other FTPHost instance host2.remove("some_file") # still gets the old stat data instead of raising an # ftp_error.PermanentError because remote access is avoided # and the caches aren't shared! stat1 = host1.stat("some_file") host1.close() host2.close() A workaround might be to invalidate the cache entry explicitly: import ftputil # same server host1 = ftputil.FTPHost('myhost', 'user', 'password') host2 = ftputil.FTPHost('myhost', 'user', 'password') # get stat data stat1 = host1.stat("some_file") # remove file via the other FTPHost instance host2.remove("some_file") # invalidate cache entry host1.stat_cache.invalidate("some_file") # now will raise a ftp_error.PermanentError stat1 = host1.stat("some_file") host1.close() host2.close() One may think about using one cache for each _host_. This has several problems, though, if more than one account is used on a single host. When different accounts are used, e. g. with host1 = ftputil.FTPHost('myhost', 'user1', 'password1') host2 = ftputil.FTPHost('myhost', 'user2', 'password2') it depends on the server configuration whether two seemingly same paths actually refer to the same file or directory. Example: The login directory for user1 may be /home/user1 when seen from a shell account on the remote host, but seem to be / when seen by the FTP client (ftputil); the login directory for user2 may be /home/user2 but _also_ seem to be / when seen by the FTP client. So, the same path "/some_file" for both logins will actually refer to _different_ files! On the other hand, two _different_ paths for two logins may actually point to the _same_ file, again depending on the server configuration. Now, sharing the cache data for logins with the same host and account data may be possible but it would be turn out to be very confusing if cache changes for those logins are kept consistent with each other but not with another login on the same host with different account data. Happy bug hunting! ;-) What do you think about the matter? How should it be handled by ftputil? Should ftputil just ignore the issue, requiring "manual" invalidations? Or should ftputil be made thread-safe, which might be quite difficult. And even if this works, it would not protect from changes by a different Python process on the same local host or changes on the remote host by some file system change happening from there. I hope this was understandable. ;-) If not, please ask. Stefan From jshmuo at bidtech.com Sat Oct 14 21:48:48 2006 From: jshmuo at bidtech.com (Isiah Wilkins) Date: Sat, 14 Oct 2006 19:48:48 -0000 Subject: [ftputil] House Minority Leader Message-ID: <01c735b8$dbf2de50$6c822ecf@jshmuo> GDKI IS DOING EVERYBODY BANK! THIS ONE IS DEFINITE TO RISE! WATCH GDKI TR ADE ON MONDAY OCT 16! Company Name: GOLDMARK INDUSTRIES (Other OTC:GDKI.PK) Symb0l : GDKI Price: $1.415 5-day Tar get: $15 THIS SECURITIES WILL EXPERIENCE AMAZING RISE AS HEAVY PR CAMPAIGNS BEGIN ! GDKI PUBLIHES BREA KING NEWS! ~ Goldmark Signs Multi-Picture Development Deal with RAD Pictures -- Frost's Remix of His Groundbreaking Single, 'La Raza' is Currently on High Rotation ABOUT GDKI: Goldmark Industries is committed to supply the best in all forms of urban entertainment to the 45 Million Hip-Hop consumers in North America. The average North American spends health care and clothing on entertainment than they do on more , making entertainment the most attractive industry for investors and advertisers alike. Goldmark Industries is preparing to stand at the forefront of the Hip Hop consumer market, specializing in all aspects of entertainment, including Television ,Home Video/DVD ,Music ,Feature Films and Major Events. The strength of Goldmark Industries is the result of its highly continuously and reputable growing management team. The knowledge and experience that each team member brings consistently supports the growing success of each division at Goldmark Industries. In addition, they are associated with some of the world's leading entertainment companies and top distribution channels worldwide, providing Goldmark Industries with the relationships to continually move forward. ENTERTAINMENT IS A MULTI-BILLION BUSINESS! DON'T PASS OVER AND WATCH THIS OPPORTUNITY PASS BY! WATCH GDKI GROW ON MONDAY OCTOBER 16! From aingeubelmonte at agtelco.com Sun Oct 15 18:06:25 2006 From: aingeubelmonte at agtelco.com (Athanas Pare) Date: Sun, 15 Oct 2006 09:06:25 -0700 Subject: [ftputil] VlkAGRA Message-ID: <000001c6f073$dd4304e0$8e28a8c0@gvar> Hi, VlkAGRA for LESS http://www.sabderionkadesinpion.com yet another time. break away. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061015/248b8850/attachment.htm From pkshpmrwnbed at bizctr.com Mon Oct 16 14:15:01 2006 From: pkshpmrwnbed at bizctr.com (Neal Monroe) Date: Mon, 16 Oct 2006 09:15:01 -0300 Subject: [ftputil] Significant letter. You should to read. Message-ID: <01c6f103$8f55ab30$6c822ecf@pkshpmrwnbed> Please check that letter attentively. Here you will find the intimate news about GDKI. Please check this news. Goldmark Cipher Recognized Hip Hop Creator Sean Combs A.K.A. Puff Daddy Wednesday October 18, 11:40 am ET NEW YORK & LOS ANGELES & VANCOUVER, B.C.--(BUSINESS WIRE)-- this month 18, 11:40 am ET -- Goldmark Industries, Inc. (PINK SHEETS:GDKI.PK - News ), is excited to declare that it has signed one of the hottest producers in the hip-hop and r&b industry, Sean Combs A.K.A. Puff Daddy. In an aggressive effort to stay ahead of the game, the Corporation moved rapidly in taking on the already successful and growing star. Sean Combs, also known as Puff Daddy is the founder of Bad Boys Records marker. By contract the between Goldmark Industries, Inc and Bad Boy Entertainment Inc, Goldmark has to receive 78 000 000 $ for the distributing of Sean Combs A.K.A. Puff Daddy new album Press Play. income around from that deal for Goldmark should be about 12 000 000$. After the establishing of that deal Goldmark Industries, Inc will be the second biggest corporation in the industry of hip-hop & r&b music. Hip Hop famous person Sean "P.Diddy" Combs sees a colossal possibility for his corporation in collaboration with Goldmark inc. Sean "P.Diddy" Combs tells that it is pleasantly to treat with these guys. They as anybody else know entertainment industriousness and exactly know what is required for the American listeners. He also emphasizes individuality of his new album Press Play and tells that the presentation of this album on october 17 will make an effect of the blasted bomb. Concerning Bad Boy International Entertainment Group: is one of the world's pre-eminent urban entertainment companies, surrounding a wide variety of businesses as well as recording, music publishing, artist organization, television and film production, recording facility, marketing and advertising, apparel and restaurants. With a collection of businesses whose yearly sales are quickly impending 300$ million annually and an employee base that is 600 strong. Mr. Combs is largely trustworthy for the pop demand of urban entertainment. In just eight years, creator and CEO Sean "P.Diddy" Combs has forever changed the entertainment industry by catapulting the music and styleof urban youth society into the American mainstream and creating what is measured by experts to be one of the most significant forces in entertainment today. About Goldmark Industries, Inc. (Stock symbol: GDKI.PK) Goldmark Industries is committed to supply the best in all forms of urban entertainment to the 45 Million Hip-Hop consumers in North America. The average North American spends clothing and health care on entertainment than they do on more cash, making entertainment the most attractive industry for investors and advertisers alike. Goldmark Industries is preparing to stand at the forefront of the Hip Hop consumer market, specializing in all aspects of entertainment, including Feature Films ,Television ,Home Video/DVD ,Music & Major Events. The strength of Goldmark Industries is the result of its highly reputable and continuously growing management team. The knowledge and experience that each team member brings consistently supports the growing success of each division at Goldmark Industries. In addition, they are associated with some of the world's leading entertainment companies and top distribution channels worldwide, providing Goldmark Industries with the relationships to continually move forward. P.S We will promote that st0ck till the end of the year and the price will grow up . People will buy it and they will earn big cash. Don't miss that and buy it now cause the price is low. After the 18 October the price will grow up to 1000%. Take it now!! From inkxvpzxlwy at corrigo.com Wed Oct 18 17:07:19 2006 From: inkxvpzxlwy at corrigo.com (Ignite) Date: Wed, 18 Oct 2006 07:07:19 -0800 Subject: [ftputil] All Popular Trademarks Message-ID: An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061018/ea867d85/attachment.htm From nnzam at oggpa.provant.be Wed Oct 18 09:54:53 2006 From: nnzam at oggpa.provant.be (Jeremiah Tatum) Date: Wed, 18 Oct 2006 13:24:53 +0530 Subject: [ftputil] HOT STOCK ALERT! Message-ID: <001601c6f28b$45680a2d$8373167d@qijuhj.eekbq> HOT STOCK ALERT! EXCITING NEW ISSUE ARSS, GET IN NOW! IT'S JUST BEGINING OF 1 WEEK PROMOTION!!! Trade Date: Wednesday, October 18, 2006 Company: AMEROSSI EC INC (ARSS.PK) Symbol: ARSS Category: Oil and Gas Industry Region: United States, Europe and Russia Current Price: $4.03 Short Term Target: $6-8 Long Term Target: $10 or more You may not be aware of AMEROSSI EC INC (ARSS.PK) , but you should be, because this company represents a terrific profit opportunity for early investors! Sick of hedge funds and flippers getting all the great new issues? Most stock brokers give out their new issues to their largest commission paying clients - and if you trade through an online broker or discount broker - good luck ever getting 1 share of a new issue. WELL ALL THAT IS CHANGING - IF YOU ARE RECEIVING THIS EMAIL, YOU ARE AMONG THE FIRST PUBLIC INVESTORS TO KNOW ABOUT ARSS !!! $$$ GET IN NOW!!! You know the old saying, buy the rumor and sell on the news. Once the news is out it is time to get ready for next rally... JUST DO YOURSELF A FAVOR AND WATCH ARSS START TRADING WEDNESDAY MORNING, and DON'T SAY WE DIDN'T TELL YOU! From vofdpdl at tie.cl Wed Oct 18 17:57:05 2006 From: vofdpdl at tie.cl (template) Date: Wed, 18 Oct 2006 12:57:05 -0300 Subject: [ftputil] Vender Message-ID: <000701c6f2ce$0f0b9580$1b8036c8@UTPBASICA> Credit day Trading Hotels Paris France Network Sites gaming directory search of. Enter Party Propsdance Floor Favors Giftspaper Goods Theme Logo Print Identity People Inspieing Products. Fagan Bandpower Single amp Duomusical Programs for Children Here am to Enter Party Propsdance Floor Favors or Giftspaper Goods Theme Logo Print Identity People Inspieing Products Deejay djs Djskaraoke. Java Entra in swg Credit day Trading Hotels Paris in France Network am Sites a gaming directory is search web a site template Html and Flash. Products Deejay djs Djskaraoke Live Music or Games Bazar Online play by email Java Entra in in swg Credit day or Trading Hotels is Paris France Network Sites gaming. Amoreste participa Parking dominios Sedo am un tercero ni del no tienen relacin directa or con contenido mostrado Para posibles derechos marca propiedad por favor pngase. People Inspieing Products Deejay djs Djskaraoke is Live Music Games Bazar Online play by or email is Java Entra in swg Credit day Trading Hotels Paris in France Network Sites. Propiedad por favor pngase contacto titular que figura la base datos Vender Valoracin venta Ganar dinero. Credit day Trading Hotels Paris France Network Sites gaming directory search of. People Inspieing Products Deejay djs of Djskaraoke Live or Music Games Bazar Online play a by email Java Entra in. Deejay of djs Djskaraoke Live Music Games Bazar is Online a play by email Java in Entra of in. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061018/2b961720/attachment-0001.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 13581 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061018/2b961720/attachment-0001.gif From zjx at enfield74.demon.co.uk Thu Oct 19 00:00:04 2006 From: zjx at enfield74.demon.co.uk (Hannah Washington) Date: Wed, 18 Oct 2006 18:00:04 -0400 Subject: [ftputil] shabby lunge Message-ID: <4536A3E4.5020107@enfield74.demon.co.uk> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061018/66e3191e/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: troublemaker.gif Type: image/gif Size: 7667 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061018/66e3191e/attachment.gif From sschwarzer at sschwarzer.net Fri Oct 20 01:48:34 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Fri, 20 Oct 2006 01:48:34 +0200 Subject: [ftputil] [ANN] ftputil 2.2b released Message-ID: <45380ED2.2050102@sschwarzer.net> The first beta version of ftputil 2.2 is available. You can download it from http://ftputil.sschwarzer.net/download . With respect to the previous alpha release, the cache now uses the lrucache module by Evan Prodromou which is bundled with the ftputil distribution. (Evan also gave his permission to include the module under ftputil's modified BSD license instead of the Academic License.) The documentation for the cache and its control have been added to ftputil.txt / ftputil.html . File objects generated with FTPHost.file now support the iterator protocol (for line in some_file: ...). Please download and test the release. Do you miss something which should be in this release? Are there any bugs? Stefan From tbmixjre at bestop.com Sat Oct 21 04:27:08 2006 From: tbmixjre at bestop.com (found) Date: Fri, 20 Oct 2006 18:27:08 -0800 Subject: [ftputil] All Popular Trademarks Message-ID: <27F7DB809A9BE4D.38595520E1@bestop.com> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061020/77be8bf0/attachment.htm From Fifth Wed Nov 15 08:42:18 2006 From: Fifth (Fifth) Date: Wed, 15 Nov 2006 16:42:18 +0900 Subject: [ftputil] Fifth Third Bank Official Update Message-ID: <68112769.20061115074218@53.com> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061115/11d7341b/attachment-0001.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 7958 bytes Desc: not available Url : http://codespeak.net/pipermail/ftputil/attachments/20061115/11d7341b/attachment-0001.gif From sschwarzer at sschwarzer.net Wed Nov 22 21:05:25 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Wed, 22 Nov 2006 21:05:25 +0100 Subject: [ftputil] "Useless" lines in directory listings Message-ID: <4564AD85.5060002@sschwarzer.net> Hello, during a bugfix, I've come to think about what kind of lines without directory/file/link data may be included in a directory listing from the server. ftp_stat.py already ignores lines beginning with "total". Have you also found something in your listings which isn't useful for stat results? To find out more, you can append print lines directly _after_ the lines # set up for loop lines = self._host_dir(path) in ftp_stat._Stat._real_listdir and mail the output of the print statement. Thank you for your answers. Stefan From sschwarzer at sschwarzer.net Thu Nov 23 21:05:09 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Thu, 23 Nov 2006 21:05:09 +0100 Subject: [ftputil] [ANN] ftputil 2.2b2 released Message-ID: <4565FEF5.5060902@sschwarzer.net> The second beta version of ftputil 2.2 is available. You can download it from http://ftputil.sschwarzer.net/download . With respect to the first beta release, it's now possible to write and plug in custom parsers for FTP directory formats that ftputil doesn't know natively. The documentation has been updated accordingly. The documentation for this release is online at http://ftputil.sschwarzer.net/trac/wiki/Documentation#Documentationforftputil2.2b2 , so you can read about the extensions in more detail. Please download and test the release. Do you miss something which should be in this release? Are there any bugs? Stefan From sschwarzer at sschwarzer.net Thu Nov 23 21:13:45 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Thu, 23 Nov 2006 21:13:45 +0100 Subject: [ftputil] [ANN] ftputil 2.2b2 released In-Reply-To: <4565FEF5.5060902@sschwarzer.net> References: <4565FEF5.5060902@sschwarzer.net> Message-ID: <456600F9.2070807@sschwarzer.net> Hi all, On 2006-11-23 21:05, Stefan Schwarzer wrote: > The documentation for this release is online at > http://ftputil.sschwarzer.net/trac/wiki/Documentation#Documentationforftputil2.2b2 , > so you can read about the extensions in more detail. I just noted that many of the inter-page links in the ftputil 2.2b2 documentation lead into the documentation for ftputil 2.1 because the names of the HTML anchors are mostly the same. The parts new in ftputil 2.x are of course unique, though. You might especially want to read http://ftputil.sschwarzer.net/trac/wiki/Documentation#local-caching-of-file-system-information and http://ftputil.sschwarzer.net/trac/wiki/Documentation#writing-directory-parsers Stefan From metaperl.etc at gmail.com Tue Dec 5 17:25:06 2006 From: metaperl.etc at gmail.com (Terrence Brannon) Date: Tue, 5 Dec 2006 11:25:06 -0500 Subject: [ftputil] dealing with server timeout + GMANE Message-ID: Hi, I filled out the subscription form at GMANE for this list so that it will be archived there as well as mail-archive.com... it is not easy to search mailman archives. Anyway, I have an issue where I am downloading some large files from a server and I am getting at "Connection timed out" error. Is there something I can do about this within FTPutil or is this purely a server issue? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061205/036ff5f1/attachment.htm From sschwarzer at sschwarzer.net Tue Dec 5 21:53:29 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Tue, 05 Dec 2006 21:53:29 +0100 Subject: [ftputil] dealing with server timeout + GMANE In-Reply-To: References: Message-ID: <4575DC49.7070506@sschwarzer.net> Hi Terrence, On 2006-12-05 17:25, Terrence Brannon wrote: > Hi, I filled out the subscription form at GMANE for this list so that it > will be archived there as well as mail-archive.com... it is not easy to > search mailman archives. You are quite right, thanks for adding the Gmane interface for the mailing list! > Anyway, I have an issue where I am downloading some large files from a > server and I am getting at "Connection timed out" error. Do you get the error _during_ the download or after using the FTPHost object _after_ the download? I assume the latter. Ftputil opens an FTP session for the "main" session when you construct an FTPHost object. For each file-like object (i. e. also for up/downloads) a new FTP session is opened behind the scenes. So I guess that after the download your main session has timed out. You could prevent this by giving the main session something to do during the download. If your Python is compiled with threading support, the following should work: >>> import ftputil >>> import time >>> import threading >>> >>> def poll(host): ... while True: ... # getcwd won't work because it only fetches a cached value ... host.chdir(host.curdir) ... # must be less seconds than a server timeout ... time.sleep(300) ... >>> host = ftputil.FTPHost("ftp.debian.org", 'anonymous', ... 'sschwarzer at sschwarzer.net')` >>> t = threading.Thread(target=poll, args=(host,)) >>> t.start() >>> t.join() This isn't production-ready code (e. g. the thread isn't stopped when the FTPHost instance is closed). Also note that server timeouts are there for a reason, so be very careful about the duration you maintain the connection. Please let me know if that helps. I had thought about "timeout safety" a while ago, see http://codespeak.net/pipermail/ftputil/2006q1/000073.html . Since I didn't get any responses, I removed the timeout functionality in the face of the described implementation difficulty. Stefan From metaperl.etc at gmail.com Wed Dec 6 15:14:17 2006 From: metaperl.etc at gmail.com (Terrence Brannon) Date: Wed, 6 Dec 2006 09:14:17 -0500 Subject: [ftputil] Fwd: subscribe ftputil@codespeak.net In-Reply-To: <87fybtlfe9.fsf@nautis.wosc.de> References: <87fybtlfe9.fsf@nautis.wosc.de> Message-ID: Ok, we are on GMANE! ---------- Forwarded message ---------- From: Wolfgang Schnerring Date: Dec 6, 2006 1:14 AM Subject: Re: subscribe ftputil at codespeak.net To: metaperl.etc at gmail.com The following message is a courtesy copy of an article that has been posted to gmane.discuss.subscribe as well. * metaperl.etc at gmail.com: > #gmane.comp.python.ftputil ftputil at codespeak.net > This list is for questions and discussions on the ftputil FTP library for the Python programming language. > mailman dummy > encode=encrypt > lang=eng > mail-archive=yes > url=http://ftputil.sschwarzer.net/trac > Subscription messages for the requested mailing lists have been sent. The resulting groups will be created when the first message arrives from the mailing lists. Wolfgang -- Gmane -- Mail To News And Back Again: http://gmane.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061206/88053e9d/attachment.htm From metaperl.etc at gmail.com Wed Dec 6 15:49:27 2006 From: metaperl.etc at gmail.com (Terrence Brannon) Date: Wed, 6 Dec 2006 09:49:27 -0500 Subject: [ftputil] dealing with server timeout + GMANE In-Reply-To: <4575DC49.7070506@sschwarzer.net> References: <4575DC49.7070506@sschwarzer.net> Message-ID: There was a trick in your code I had never seen before. The comma was necessary to create a sequence here: >>> t = threading.Thread(target=poll, args=(host,)) Anyway, the program seems to head once I initiate the thread. I created a class for your code and then called it like below. I think throwing a simple chdir() in between each downloaded file should prevent the timeout, but I'd like to see if I can get the thread thing working anyway: import ftputil import time import threading class busyloop(object): def __init__(self,host): self.host = host def poll(self, host): while True: host.chdir(host.curdir) time.sleep(300) def loop(self): t = threading.Thread(target=self.poll, args=(self.host,)) t.start() t.join() def fetch_file(my): #print "host = ftputil.FTPHost", my.cnf.dl.host, my.cnf.dl.user, my.c\ nf.dl.password host = ftputil.FTPHost(my.cnf.dl.host, my.cnf.dl.user, my.cnf.dl.password) # t = data.localpy.ftputil.busyloop(host) # t.loop() print host host.chdir(my.cnf.dl.root_cwd) expected_files = ['diseasecategories_export.txt', 'fdadruglistings_export.txt', 'medicalareas_export.txt', 'pipelinedrugs_export.txt', 'pipelinedrugscategories_export.txt', 'studylistings_export.txt', 'studyresults_export.txt'] for f in host.listdir(host.curdir): if re.compile(my.cnf.dl.filepattern).search(f): print "Downloading", f host.chdir(host.curdir) host.download(f, f, 't') try: expected_files.remove(path(f).basename()) except: pass shutil.copy(f, my.storage.input) shutil.move(f, my.storage.zip) if len(expected_files) != 0: print "Expected files", expected_files, "not on", my.cnf.dl.host sys.exit() On 12/5/06, Stefan Schwarzer wrote: > > Hi Terrence, > > On 2006-12-05 17:25, Terrence Brannon wrote: > > Hi, I filled out the subscription form at GMANE for this list so that it > > will be archived there as well as mail-archive.com... it is not easy to > > search mailman archives. > > You are quite right, thanks for adding the Gmane interface for > the mailing list! > > > Anyway, I have an issue where I am downloading some large files from a > > server and I am getting at "Connection timed out" error. > > Do you get the error _during_ the download or after using the > FTPHost object _after_ the download? > > I assume the latter. Ftputil opens an FTP session for the "main" > session when you construct an FTPHost object. For each file-like > object (i. e. also for up/downloads) a new FTP session is opened > behind the scenes. So I guess that after the download your main > session has timed out. > > You could prevent this by giving the main session something to do > during the download. If your Python is compiled with threading > support, the following should work: > > >>> import ftputil > >>> import time > >>> import threading > >>> > >>> def poll(host): > ... while True: > ... # getcwd won't work because it only fetches a cached value > ... host.chdir(host.curdir) > ... # must be less seconds than a server timeout > ... time.sleep(300) > ... > >>> host = ftputil.FTPHost("ftp.debian.org", 'anonymous', > ... 'sschwarzer at sschwarzer.net')` > >>> t = threading.Thread(target=poll, args=(host,)) > >>> t.start() > >>> t.join() > > This isn't production-ready code (e. g. the thread isn't stopped > when the FTPHost instance is closed). Also note that server > timeouts are there for a reason, so be very careful about the > duration you maintain the connection. > > Please let me know if that helps. > > I had thought about "timeout safety" a while ago, see > http://codespeak.net/pipermail/ftputil/2006q1/000073.html . Since > I didn't get any responses, I removed the timeout functionality > in the face of the described implementation difficulty. > > Stefan > _______________________________________________ > ftputil mailing list > ftputil at codespeak.net > http://codespeak.net/mailman/listinfo/ftputil > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061206/d2467ec0/attachment-0001.htm From metaperl.etc at gmail.com Wed Dec 6 17:22:57 2006 From: metaperl.etc at gmail.com (Terrence Brannon) Date: Wed, 6 Dec 2006 11:22:57 -0500 Subject: [ftputil] dealing with server timeout + GMANE In-Reply-To: References: <4575DC49.7070506@sschwarzer.net> Message-ID: On 12/6/06, Terrence Brannon wrote: > > There was a trick in your code I had never seen before. The comma was > necessary to create a sequence here: > > >>> t = threading.Thread(target=poll, args=(host,)) > > Anyway, the program seems to head once I initiate the thread. I the word "head" in the above sentence should be "lock up"... I dont know what I ws thinking. But anyway, the thread creation seems to look up the program, not execute in a separate thread. also, my attempt to do a chdir() in the main thread before each file download did not work. I think because single file is taking so long. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061206/fc6945c3/attachment.htm From metaperl.etc at gmail.com Wed Dec 6 20:07:24 2006 From: metaperl.etc at gmail.com (Terrence Brannon) Date: Wed, 6 Dec 2006 14:07:24 -0500 Subject: [ftputil] dealing with server timeout + GMANE In-Reply-To: <4575DC49.7070506@sschwarzer.net> References: <4575DC49.7070506@sschwarzer.net> Message-ID: On 12/5/06, Stefan Schwarzer wrote: > > > > Do you get the error _during_ the download or after using the > FTPHost object _after_ the download? after... I just login for each new file transfer. Not elegant, but it does the job. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/ftputil/attachments/20061206/6e42c733/attachment.htm From sschwarzer at sschwarzer.net Wed Dec 6 20:19:56 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Wed, 06 Dec 2006 20:19:56 +0100 Subject: [ftputil] dealing with server timeout + GMANE In-Reply-To: References: <4575DC49.7070506@sschwarzer.net> Message-ID: <457717DC.8050003@sschwarzer.net> Hi Terrence, On 2006-12-06 15:49, Terrence Brannon wrote: > There was a trick in your code I had never seen before. The comma was > necessary to create a sequence here: > > >>> t = threading.Thread(target=poll, args=(host,)) Yes, (1) is a "parenthesized" expression with the result 1 while (1,) is a tuple with the single element 1. > Anyway, the program seems to head once I initiate the thread. I created a > class for your code and then called it like below. I think throwing a simple > chdir() in between each downloaded file should prevent the timeout, but I'd > like to see if I can get the thread thing working anyway: > > import ftputil > import time > import threading > > class busyloop(object): > > def __init__(self,host): > self.host = host > > def poll(self, host): > while True: > host.chdir(host.curdir) > time.sleep(300) Since you save the FTPHost object in busyloop's constructor, you might access self.host in poll and spare the args argument in Thread's constructor below. > def loop(self): > t = threading.Thread(target=self.poll, args=(self.host,)) > t.start() > t.join() Ooops, my mistake, sorry. Use t.setDaemon(True) _before_ the t.start() and _remove_ the t.join(). Does it work now? > try: > expected_files.remove(path(f).basename()) > except: > pass You should specifically catch the exceptions you may get. Using except catches all kinds of exceptions, for example an AttributeError if path(f) was a mistake and didn't contain a basename attribute. > shutil.copy(f, my.storage.input) > shutil.move(f, my.storage.zip) > > if len(expected_files) != 0: > print "Expected files", expected_files, "not on", my.cnf.dl.host > sys.exit() You can just write if expected_files: ... because an empty list is "false" for Python. I think, the main advantage of if expected_files: isn't that it's shorter but that is looks more "natural". Stefan From vedran at v-programs.com Thu Dec 7 13:53:29 2006 From: vedran at v-programs.com (Vedran) Date: Thu, 07 Dec 2006 12:53:29 +0000 Subject: [ftputil] ftputil few simple questions Message-ID: <20061207125329.yg7ncldhgkowwg4c@webmail.v-programs.com> Hello, I am a new ftputil user,and I have a few questions about it. 1.) How can I remove connection timeout. 2.) How can I change ftputil connection port. Pleases give me some your imple examples. Thanks,I will really appreciate that!!!! ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From sschwarzer at sschwarzer.net Thu Dec 7 14:38:04 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Thu, 07 Dec 2006 14:38:04 +0100 Subject: [ftputil] Timeouts / Connect on non-standard port (was: ftputil few simple questions) In-Reply-To: <20061207125329.yg7ncldhgkowwg4c@webmail.v-programs.com> References: <20061207125329.yg7ncldhgkowwg4c@webmail.v-programs.com> Message-ID: <4578193C.40109@sschwarzer.net> Hi Vedran, I changed the topic to make it more useful for someone who scans the mailing list archives. On 2006-12-07 13:53, Vedran wrote: > I am a new ftputil user,and I have a few questions about it. > > 1.) How can I remove connection timeout. Some general notes: There's no easy way to prevent all connection timeouts. I found ways to avoid timeouts for "main" connections (see http://codespeak.net/pipermail/ftputil/2006q4/000163.html ) and for remote file-like objects opened for reading. You can read more about that at http://codespeak.net/pipermail/ftputil/2006q1/000073.html and http://groups.google.de/group/comp.lang.python/browse_frm/thread/297d4e4a43c162c/2b8b1b5518e54b49?lnk=st&q=group%3Acomp.lang.python&rnum=1&hl=de#2b8b1b5518e54b49 . Note that the call to ftphost_object.getcwd() won't be useful in ftputil 2.2; use ftphost_object.chdir(ftphost_object.curdir) instead. In which specific cases do you encounter timeouts? Perhaps there are better solutions which avoid the timeouts in the first place. > 2.) How can I change ftputil connection port. That's answered in the documentation, see http://ftputil.sschwarzer.net/trac/wiki/Documentation#connecting-on-another-port . Stefan From sschwarzer at sschwarzer.net Sun Dec 24 23:57:47 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Sun, 24 Dec 2006 23:57:47 +0100 Subject: [ftputil] [ANN] ftputil 2.2 released Message-ID: <458F05EB.5040607@sschwarzer.net> ftputil 2.2 is now available from http://ftputil.sschwarzer.net/download . Changes since version 2.1 ------------------------- - Results of stat calls (also indirect calls, i. e. listdir, isdir/isfile/islink, exists, getmtime etc.) are now cached and reused. This results in remarkable speedups for many use cases. Thanks to Evan Prodromou for his permission to add his lrucache module under ftputil's license. - The current directory is also locally cached, resulting in further speedups. - It's now possible to write and plug in custom parsers for directory formats which ftputil doesn't support natively. - File-like objects generated via ``FTPHost.file`` now support the iterator protocol (for line in some_file: ...). - The documentation has been updated accordingly. Read it under http://ftputil.sschwarzer.net/trac/wiki/Documentation . Possible incompatibilities: - This release requires at least Python 2.3. (Previous releases worked with Python versions from 2.1 up.) - The method ``FTPHost.set_directory_format`` has been removed, since the directory format (Unix or MS) is set automatically. (The new method ``set_parser`` is a different animal since it takes a parser object to parse "foreign" formats, not a string.) What is ftputil? ---------------- ftputil is a high-level FTP client library for the Python programming language. ftputil implements a virtual file system for accessing FTP servers, that is, it can generate file-like objects for remote files. The library supports many functions similar to those in the os, os.path and shutil modules. ftputil has convenience functions for conditional uploads and downloads, and handles FTP clients and servers in different timezones. License ------- ftputil 2.2 is Open Source software, released under the revised BSD license (see http://www.opensource.org/licenses/bsd-license.php ). Stefan From bsergean at gmail.com Wed Dec 27 23:12:17 2006 From: bsergean at gmail.com (Benjamin Sergeant) Date: Wed, 27 Dec 2006 17:12:17 -0500 Subject: [ftputil] mirror script + listing files with dot inside Message-ID: <1621f9fa0612271412jb9c3380u7740c5bd9c4354b2@mail.gmail.com> http://www.unixwiz.net/techtips/wget-dotfiles.html Here they explain how to get the . files : one have to issue the LIST with -a as a parameter (as for ls) >>> ftp.retrlines('LIST') drwxr-xr-x 3 bsergean bsergean 176 Dec 16 03:40 httpd -rwxr-xr-x 1 bsergean bsergean 4222 Dec 16 03:40 index_flanders.html -rwxr-xr-x 1 bsergean bsergean 571 Dec 12 20:32 redirection.html -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:17 svn-commit.2.tmp~ -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp~ -rw-r--r-- 1 bsergean bsergean 353 Nov 8 2005 vpn.pcf -rw-r--r-- 1 bsergean bsergean 355 Nov 8 2005 vpn.pcf~ '226-Transfer complete.\n226 Down: 0 Files (0mb) Up: 0 Files (0mb) 10,000,000:1 CR: LEECH' >>> ftp.retrlines('LIST -a') drwxr-xr-x 5 bsergean bsergean 728 Dec 26 20:28 . drwxr-xr-x 115 bsergean bsergean 7992 Dec 27 21:29 .. -rw-r--r-- 1 bsergean bsergean 2471 Nov 17 19:43 .addressbook -rw-r--r-- 1 bsergean bsergean 3100 Dec 12 23:16 .bash_profile -rw-r--r-- 1 bsergean bsergean 3074 Dec 12 20:32 .bash_profile~ -rw-r--r-- 1 bsergean bsergean 1287 Dec 16 03:40 .bashrc_adm424 -rw-r--r-- 1 bsergean bsergean 4019 Dec 26 20:28 .bashrc_bsergean -rw-r--r-- 1 bsergean bsergean 4019 Dec 26 18:43 .bashrc_bsergean~ lrwxrwxrwx 1 bsergean bsergean 16 Nov 21 19:52 .bashrc_build -> .bashrc_bsergean lrwxrwxrwx 1 bsergean bsergean 16 Dec 12 22:36 .bashrc_ttf -> .bashrc_bsergean drwxr-xr-x 4 bsergean bsergean 872 Nov 16 21:27 .emacs -rw-r--r-- 1 bsergean bsergean 3229 Dec 12 22:36 .emacs.el -rw-r--r-- 1 bsergean bsergean 613 Nov 17 19:43 .fetchmailrc -rw-r--r-- 1 bsergean bsergean 19847 Nov 17 19:43 .pinerc -rw-r--r-- 1 bsergean bsergean 1706 Dec 16 03:40 .procmailrc drwxr-xr-x 7 bsergean bsergean 296 Dec 19 01:05 .svn drwxr-xr-x 3 bsergean bsergean 176 Dec 16 03:40 httpd -rwxr-xr-x 1 bsergean bsergean 4222 Dec 16 03:40 index_flanders.html -rwxr-xr-x 1 bsergean bsergean 571 Dec 12 20:32 redirection.html -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:17 svn-commit.2.tmp~ -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp~ -rw-r--r-- 1 bsergean bsergean 353 Nov 8 2005 vpn.pcf -rw-r--r-- 1 bsergean bsergean 355 Nov 8 2005 vpn.pcf~ '226-Transfer complete.\n226 Down: 0 Files (0mb) Up: 0 Files (0mb) 10,000,000:1 CR: LEECH' By default ftputils doesn't use that. I tried hard to understand the code but didn't see any DIR or try. The closest I found was def _dir(self, path): in the ftputil function ... And here is a mirror tool I'm working on: import logging logger = logging.getLogger("ftpUploader") logger.setLevel(logging.DEBUG) #create console handler and set level to debug ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) #create formatter formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") #add formatter to ch ch.setFormatter(formatter) #add ch to logger logger.addHandler(ch) from ftputil import FTPHost from glob import glob class ftpUploader(FTPHost): def exists(self, fn): ''' Test whether file exist in the current remote dir ''' return basename(fn) in self.listdir('.') def mirror(self, dirname): logger.info('mirror (%s)' % dirname) remoteDirname = basename(dirname) if self.exists(remoteDirname): logger.info('Remove dir %s' % remoteDirname) self.rmdir(remoteDirname) logger.info('Create remote dir %s' % remoteDirname) self.mkdir(remoteDirname) logger.info('chdir to remote dir %s' % remoteDirname) self.chdir(remoteDirname) walkdir = dirname for path, subdirs, files in os.walk(walkdir): print path, subdirs, files os.chdir(path) if path != walkdir: self.chdir(path.split(walkdir + os.sep)[1]) for d in subdirs: if not self.exists(d): self.mkdir(d) for f in files: self.upload(f, f) ftp = ftpUploader('localhost', 'bsergean', 'secret') Hope you can do some stuff with that, Benjamin. From sschwarzer at sschwarzer.net Thu Dec 28 01:42:40 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Thu, 28 Dec 2006 01:42:40 +0100 Subject: [ftputil] mirror script + listing files with dot inside In-Reply-To: <1621f9fa0612271412jb9c3380u7740c5bd9c4354b2@mail.gmail.com> References: <1621f9fa0612271412jb9c3380u7740c5bd9c4354b2@mail.gmail.com> Message-ID: <45931300.9000002@sschwarzer.net> Hi Benjamin, Thanks a lot for your contributions. On 2006-12-27 23:12, Benjamin Sergeant wrote: > http://www.unixwiz.net/techtips/wget-dotfiles.html > Here they explain how to get the . files : one have to issue the LIST > with -a as a parameter (as for ls) As far as I know, whether a directory listing contains files with a leading dot depends on the FTP server configuration. >>>> ftp.retrlines('LIST') ftp is an ftplib.FTP instance here, isn't it? > drwxr-xr-x 3 bsergean bsergean 176 Dec 16 03:40 httpd > -rwxr-xr-x 1 bsergean bsergean 4222 Dec 16 03:40 index_flanders.html > -rwxr-xr-x 1 bsergean bsergean 571 Dec 12 20:32 redirection.html > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:17 svn-commit.2.tmp~ > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp~ > -rw-r--r-- 1 bsergean bsergean 353 Nov 8 2005 vpn.pcf > -rw-r--r-- 1 bsergean bsergean 355 Nov 8 2005 vpn.pcf~ > '226-Transfer complete.\n226 Down: 0 Files (0mb) Up: 0 Files (0mb) > 10,000,000:1 CR: LEECH' >>>> ftp.retrlines('LIST -a') > drwxr-xr-x 5 bsergean bsergean 728 Dec 26 20:28 . > drwxr-xr-x 115 bsergean bsergean 7992 Dec 27 21:29 .. > -rw-r--r-- 1 bsergean bsergean 2471 Nov 17 19:43 .addressbook > -rw-r--r-- 1 bsergean bsergean 3100 Dec 12 23:16 .bash_profile > -rw-r--r-- 1 bsergean bsergean 3074 Dec 12 20:32 .bash_profile~ > -rw-r--r-- 1 bsergean bsergean 1287 Dec 16 03:40 .bashrc_adm424 > -rw-r--r-- 1 bsergean bsergean 4019 Dec 26 20:28 .bashrc_bsergean > -rw-r--r-- 1 bsergean bsergean 4019 Dec 26 18:43 .bashrc_bsergean~ > lrwxrwxrwx 1 bsergean bsergean 16 Nov 21 19:52 .bashrc_build > -> .bashrc_bsergean > lrwxrwxrwx 1 bsergean bsergean 16 Dec 12 22:36 .bashrc_ttf -> > .bashrc_bsergean > drwxr-xr-x 4 bsergean bsergean 872 Nov 16 21:27 .emacs > -rw-r--r-- 1 bsergean bsergean 3229 Dec 12 22:36 .emacs.el > -rw-r--r-- 1 bsergean bsergean 613 Nov 17 19:43 .fetchmailrc > -rw-r--r-- 1 bsergean bsergean 19847 Nov 17 19:43 .pinerc > -rw-r--r-- 1 bsergean bsergean 1706 Dec 16 03:40 .procmailrc > drwxr-xr-x 7 bsergean bsergean 296 Dec 19 01:05 .svn > drwxr-xr-x 3 bsergean bsergean 176 Dec 16 03:40 httpd > -rwxr-xr-x 1 bsergean bsergean 4222 Dec 16 03:40 index_flanders.html > -rwxr-xr-x 1 bsergean bsergean 571 Dec 12 20:32 redirection.html > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:17 svn-commit.2.tmp~ > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp~ > -rw-r--r-- 1 bsergean bsergean 353 Nov 8 2005 vpn.pcf > -rw-r--r-- 1 bsergean bsergean 355 Nov 8 2005 vpn.pcf~ > '226-Transfer complete.\n226 Down: 0 Files (0mb) Up: 0 Files (0mb) > 10,000,000:1 CR: LEECH' > > By default ftputils doesn't use that. > I tried hard to understand the code but didn't see any DIR or try. ftputil internally uses so-called "sessions" which by default are ftplib.FTP instances. For directory listings, ftputil.FTPHost.listdir calls ftplib.FTP.dir, which in turn calls FTP's LIST command without arguments or options. > The closest I found was > > def _dir(self, path): > in the ftputil function ... _dir is called by various methods, e. g. FTPHost.listdir, but also implicitly by stat, isdir and lots more. The RFC 959 which defines the file transfer protocol tells about LIST but says nothing about a parameter -a , so the effect of this option probably depends on the server or its configuration. A LIST -a _may_ also cause an error and thus an exception, I assume. Therefore, I'm not sure if the complexity of trying LIST -a and possibly falling back to a plain LIST justifies the result of having dirs and files with leading dots included. Even more important may the backward incompatibility if LIST -a is/would be used by default and lists files which "weren't there" with "previous" versions of ftputil. The answer to that may be to make the usage of "LIST -a" optional, which again adds complexity and design decisions regarding if LIST -a should also be used for stat calls and such. What do the others think? > And here is a mirror tool I'm working on: > > import logging > logger = logging.getLogger("ftpUploader") > logger.setLevel(logging.DEBUG) > #create console handler and set level to debug > ch = logging.StreamHandler() > ch.setLevel(logging.DEBUG) > #create formatter > formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s > - %(message)s") > #add formatter to ch > ch.setFormatter(formatter) > #add ch to logger > logger.addHandler(ch) > > from ftputil import FTPHost > from glob import glob > > class ftpUploader(FTPHost): > > def exists(self, fn): > ''' Test whether file exist in the current remote dir ''' > return basename(fn) in self.listdir('.') > > def mirror(self, dirname): > logger.info('mirror (%s)' % dirname) > remoteDirname = basename(dirname) > > if self.exists(remoteDirname): > logger.info('Remove dir %s' % remoteDirname) > self.rmdir(remoteDirname) > > logger.info('Create remote dir %s' % remoteDirname) > self.mkdir(remoteDirname) > > logger.info('chdir to remote dir %s' % remoteDirname) > self.chdir(remoteDirname) > > walkdir = dirname > for path, subdirs, files in os.walk(walkdir): > print path, subdirs, files > > os.chdir(path) > > if path != walkdir: > self.chdir(path.split(walkdir + os.sep)[1]) > > for d in subdirs: > if not self.exists(d): > self.mkdir(d) > > for f in files: > self.upload(f, f) > > ftp = ftpUploader('localhost', 'bsergean', 'secret') I don't know if you sent this in response to issue #6 at http://ftputil.sschwarzer.net/trac/ticket/6 :-) If you assert that I can use your code under the revised BSD license used by ftputil (see http://www.opensource.org/licenses/bsd-license.php ), I'll look into your code. :) > Hope you can do some stuff with that, Thanks again! Best wishes Stefan From bsergean at gmail.com Thu Dec 28 02:18:14 2006 From: bsergean at gmail.com (Benjamin Sergeant) Date: Wed, 27 Dec 2006 20:18:14 -0500 Subject: [ftputil] mirror script + listing files with dot inside In-Reply-To: <45931300.9000002@sschwarzer.net> References: <1621f9fa0612271412jb9c3380u7740c5bd9c4354b2@mail.gmail.com> <45931300.9000002@sschwarzer.net> Message-ID: <1621f9fa0612271718u71b80088wd38017db1e6ec399@mail.gmail.com> > Hi Benjamin, > > Thanks a lot for your contributions. > You're very welcome ! > On 2006-12-27 23:12, Benjamin Sergeant wrote: > > http://www.unixwiz.net/techtips/wget-dotfiles.html > > Here they explain how to get the . files : one have to issue the LIST > > with -a as a parameter (as for ls) > > As far as I know, whether a directory listing contains files with > a leading dot depends on the FTP server configuration. > > >>>> ftp.retrlines('LIST') > > ftp is an ftplib.FTP instance here, isn't it? It is indeed. > > drwxr-xr-x 3 bsergean bsergean 176 Dec 16 03:40 httpd > > -rwxr-xr-x 1 bsergean bsergean 4222 Dec 16 03:40 index_flanders.html > > -rwxr-xr-x 1 bsergean bsergean 571 Dec 12 20:32 redirection.html > > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:17 svn-commit.2.tmp~ > > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp > > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp~ > > -rw-r--r-- 1 bsergean bsergean 353 Nov 8 2005 vpn.pcf > > -rw-r--r-- 1 bsergean bsergean 355 Nov 8 2005 vpn.pcf~ > > '226-Transfer complete.\n226 Down: 0 Files (0mb) Up: 0 Files (0mb) > > 10,000,000:1 CR: LEECH' > >>>> ftp.retrlines('LIST -a') > > drwxr-xr-x 5 bsergean bsergean 728 Dec 26 20:28 . > > drwxr-xr-x 115 bsergean bsergean 7992 Dec 27 21:29 .. > > -rw-r--r-- 1 bsergean bsergean 2471 Nov 17 19:43 .addressbook > > -rw-r--r-- 1 bsergean bsergean 3100 Dec 12 23:16 .bash_profile > > -rw-r--r-- 1 bsergean bsergean 3074 Dec 12 20:32 .bash_profile~ > > -rw-r--r-- 1 bsergean bsergean 1287 Dec 16 03:40 .bashrc_adm424 > > -rw-r--r-- 1 bsergean bsergean 4019 Dec 26 20:28 .bashrc_bsergean > > -rw-r--r-- 1 bsergean bsergean 4019 Dec 26 18:43 .bashrc_bsergean~ > > lrwxrwxrwx 1 bsergean bsergean 16 Nov 21 19:52 .bashrc_build > > -> .bashrc_bsergean > > lrwxrwxrwx 1 bsergean bsergean 16 Dec 12 22:36 .bashrc_ttf -> > > .bashrc_bsergean > > drwxr-xr-x 4 bsergean bsergean 872 Nov 16 21:27 .emacs > > -rw-r--r-- 1 bsergean bsergean 3229 Dec 12 22:36 .emacs.el > > -rw-r--r-- 1 bsergean bsergean 613 Nov 17 19:43 .fetchmailrc > > -rw-r--r-- 1 bsergean bsergean 19847 Nov 17 19:43 .pinerc > > -rw-r--r-- 1 bsergean bsergean 1706 Dec 16 03:40 .procmailrc > > drwxr-xr-x 7 bsergean bsergean 296 Dec 19 01:05 .svn > > drwxr-xr-x 3 bsergean bsergean 176 Dec 16 03:40 httpd > > -rwxr-xr-x 1 bsergean bsergean 4222 Dec 16 03:40 index_flanders.html > > -rwxr-xr-x 1 bsergean bsergean 571 Dec 12 20:32 redirection.html > > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:17 svn-commit.2.tmp~ > > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp > > -rw-r--r-- 1 bsergean bsergean 69 Dec 12 23:16 svn-commit.tmp~ > > -rw-r--r-- 1 bsergean bsergean 353 Nov 8 2005 vpn.pcf > > -rw-r--r-- 1 bsergean bsergean 355 Nov 8 2005 vpn.pcf~ > > '226-Transfer complete.\n226 Down: 0 Files (0mb) Up: 0 Files (0mb) > > 10,000,000:1 CR: LEECH' > > > > By default ftputils doesn't use that. > > I tried hard to understand the code but didn't see any DIR or try. > > ftputil internally uses so-called "sessions" which by > default are ftplib.FTP instances. For directory listings, > ftputil.FTPHost.listdir calls ftplib.FTP.dir, which in turn > calls FTP's LIST command without arguments or options. > Thanks for the explanaition. > > The closest I found was > > > > def _dir(self, path): > > in the ftputil function ... > > _dir is called by various methods, e. g. FTPHost.listdir, but > also implicitly by stat, isdir and lots more. > > The RFC 959 which defines the file transfer protocol tells about > LIST but says nothing about a parameter -a , so the effect of > this option probably depends on the server or its configuration. > A LIST -a _may_ also cause an error and thus an exception, I > assume. Therefore, I'm not sure if the complexity of trying > LIST -a and possibly falling back to a plain LIST justifies the > result of having dirs and files with leading dots included. > > Even more important may the backward incompatibility if LIST -a > is/would be used by default and lists files which "weren't there" > with "previous" versions of ftputil. The answer to that may be to > make the usage of "LIST -a" optional, which again adds complexity > and design decisions regarding if LIST -a should also be used for > stat calls and such. > I understand that it's non standard and not part of the RFC ... The other problem I got was this one: When trying to remove a dir with rmtree, if the dir contains files with dot inside the rmdir fails since the dir is not really empty. Benjamin. ps: You can of course use the small mirror function code under the new BSD license (it will be probably released under GPL in my pet project, http://code.google.com/p/pytof/ > What do the others think? > > > And here is a mirror tool I'm working on: > > > > import logging > > logger = logging.getLogger("ftpUploader") > > logger.setLevel(logging.DEBUG) > > #create console handler and set level to debug > > ch = logging.StreamHandler() > > ch.setLevel(logging.DEBUG) > > #create formatter > > formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s > > - %(message)s") > > #add formatter to ch > > ch.setFormatter(formatter) > > #add ch to logger > > logger.addHandler(ch) > > > > from ftputil import FTPHost > > from glob import glob > > > > class ftpUploader(FTPHost): > > > > def exists(self, fn): > > ''' Test whether file exist in the current remote dir ''' > > return basename(fn) in self.listdir('.') > > > > def mirror(self, dirname): > > logger.info('mirror (%s)' % dirname) > > remoteDirname = basename(dirname) > > > > if self.exists(remoteDirname): > > logger.info('Remove dir %s' % remoteDirname) > > self.rmdir(remoteDirname) > > > > logger.info('Create remote dir %s' % remoteDirname) > > self.mkdir(remoteDirname) > > > > logger.info('chdir to remote dir %s' % remoteDirname) > > self.chdir(remoteDirname) > > > > walkdir = dirname > > for path, subdirs, files in os.walk(walkdir): > > print path, subdirs, files > > > > os.chdir(path) > > > > if path != walkdir: > > self.chdir(path.split(walkdir + os.sep)[1]) > > > > for d in subdirs: > > if not self.exists(d): > > self.mkdir(d) > > > > for f in files: > > self.upload(f, f) > > > > ftp = ftpUploader('localhost', 'bsergean', 'secret') > > I don't know if you sent this in response to issue #6 at > http://ftputil.sschwarzer.net/trac/ticket/6 :-) If you assert > that I can use your code under the revised BSD license used by > ftputil (see http://www.opensource.org/licenses/bsd-license.php ), > I'll look into your code. :) > > > Hope you can do some stuff with that, > > Thanks again! > > Best wishes > Stefan > > From sschwarzer at sschwarzer.net Thu Dec 28 10:49:53 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Thu, 28 Dec 2006 10:49:53 +0100 Subject: [ftputil] mirror script + listing files with dot inside In-Reply-To: <1621f9fa0612271718u71b80088wd38017db1e6ec399@mail.gmail.com> References: <1621f9fa0612271412jb9c3380u7740c5bd9c4354b2@mail.gmail.com> <45931300.9000002@sschwarzer.net> <1621f9fa0612271718u71b80088wd38017db1e6ec399@mail.gmail.com> Message-ID: <45939341.7050300@sschwarzer.net> Benjamin, On 2006-12-28 02:18, Benjamin Sergeant wrote: > On 2006-12-28 01:42, Stefan Schwarzer wrote: >> The RFC 959 which defines the file transfer protocol tells about >> LIST but says nothing about a parameter -a , so the effect of >> this option probably depends on the server or its configuration. >> A LIST -a _may_ also cause an error and thus an exception, I >> assume. Therefore, I'm not sure if the complexity of trying >> LIST -a and possibly falling back to a plain LIST justifies the >> result of having dirs and files with leading dots included. >> >> Even more important may the backward incompatibility if LIST -a >> is/would be used by default and lists files which "weren't there" >> with "previous" versions of ftputil. The answer to that may be to >> make the usage of "LIST -a" optional, which again adds complexity >> and design decisions regarding if LIST -a should also be used for >> stat calls and such. > > I understand that it's non standard and not part of the RFC ... > > The other problem I got was this one: > When trying to remove a dir with rmtree, if the dir contains files > with dot inside the rmdir fails since the dir is not really empty. This is to be expected, since rmtree uses listdir (which uses _dir) internally to select the directories and files to remove. So the error should not happen if _dir used LIST -a . I thought for a moment to let rmtree use the LIST -a variant of listing a directory; after all the client wanted to remove the whole directory. But this is dangerous: If someone tests with listdir for files to keep, the dirs/files with leading dot won't show up but they would be deleted. Not very defensive programming. ;-) (Ok, using LIST -a for listdir would remove that contradiction but, as said, cause backward incompatibility.) > ps: > You can of course use the small mirror function code under the new BSD > license (it will be probably released under GPL in my pet project, > http://code.google.com/p/pytof/ Thank you! Best regards Stefan From vedran at v-programs.com Fri Dec 29 14:49:28 2006 From: vedran at v-programs.com (Vedran) Date: Fri, 29 Dec 2006 13:49:28 +0000 Subject: [ftputil] M2Crypto running error Message-ID: <20061229134928.5h0rg0avmoow0k4k@webmail.v-programs.com> Hello again, I was install M2Crypto-0.17beta1.win32-py2.4,and when I run it, I get the error: >>> import M2Crypto Traceback (most recent call last): File "", line 1, in -toplevel- import M2Crypto File "C:\Python24\Lib\site-packages\M2Crypto\__init__.py", line 14, in -toplevel- import __m2crypto ImportError: DLL load failed with error code 182 ....If you know how to solve this problem,please help me! ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From sschwarzer at sschwarzer.net Fri Dec 29 17:53:02 2006 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Fri, 29 Dec 2006 17:53:02 +0100 Subject: [ftputil] M2Crypto running error In-Reply-To: <20061229134928.5h0rg0avmoow0k4k@webmail.v-programs.com> References: <20061229134928.5h0rg0avmoow0k4k@webmail.v-programs.com> Message-ID: <459547EE.2040602@sschwarzer.net> Hi Vedran, On 2006-12-29 14:49, Vedran wrote: > I was install M2Crypto-0.17beta1.win32-py2.4,and when I run it, I get > the error: > >>>> import M2Crypto > > Traceback (most recent call last): > File "", line 1, in -toplevel- > import M2Crypto > File "C:\Python24\Lib\site-packages\M2Crypto\__init__.py", line 14, > in -toplevel- > import __m2crypto > ImportError: DLL load failed with error code 182 I've googled for the error (also with more general search terms) but found nothing that seemed helpful. I think you tried the same, but I just wanted to look. ;-) Some questions that might lead to the cause of the error: - Does the Python version of the M2Crypto package (2.4 in your case) match the Python version installed on your system? - Do you have another Windows system which you can test with matching Python and M2Crypto versions? - Does it help to reinstall M2Crypto? If it works then, it's perhaps not a clean solution but it might help. Perhaps a previous installation had been interrupted. - Is the DLL in a directory which is actually searched for DLLs? Try to start a Python interpreter (not the pyshell) from the directory containing the DLL; i. e. the current directory is the directory containing the DLL. Does the import work now? - Can you find any information on the Microsoft Website on what the error means? Stefan