Revision: 7274 Author: multichill Date: 2009-09-18 12:22:30 +0000 (Fri, 18 Sep 2009)
Log Message: ----------- *Added some exception handling *Fixed a range bug *Fixed 2 photoset bugs
Modified Paths: -------------- trunk/pywikipedia/flickrripper.py
Modified: trunk/pywikipedia/flickrripper.py =================================================================== --- trunk/pywikipedia/flickrripper.py 2009-09-17 23:09:55 UTC (rev 7273) +++ trunk/pywikipedia/flickrripper.py 2009-09-18 12:22:30 UTC (rev 7274) @@ -47,10 +47,18 @@ TODO: Add exception handling
''' - photoInfo = flickr.photos_getInfo(photo_id=photo_id) - #xml.etree.ElementTree.dump(photoInfo) - photoSizes = flickr.photos_getSizes(photo_id=photo_id) - #xml.etree.ElementTree.dump(photoSizes) + gotPhoto = False + while not gotPhoto: + try: + photoInfo = flickr.photos_getInfo(photo_id=photo_id) + #xml.etree.ElementTree.dump(photoInfo) + photoSizes = flickr.photos_getSizes(photo_id=photo_id) + #xml.etree.ElementTree.dump(photoSizes) + gotPhoto = True + except flickrapi.exceptions.FlickrError: + gotPhotos = False + wikipedia.output(u'Flickr api problem, sleeping') + sleep(30) return (photoInfo, photoSizes)
def isAllowedLicense(photoInfo = None): @@ -343,7 +351,7 @@ photos = flickr.groups_pools_getPhotos(group_id=group_id, user_id=user_id, tags=tags, per_page='100', page='1') pages = photos.find('photos').attrib['pages']
- for i in range(1, int(pages)): + for i in range(1, int(pages)+1): gotPhotos = False while not gotPhotos: try: @@ -366,13 +374,13 @@ # Get the photos in a photoset elif(photoset_id): photos = flickr.photosets_getPhotos(photoset_id=photoset_id, per_page='100', page='1') - pages = photos.find('photos').attrib['pages'] + pages = photos.find('photoset').attrib['pages']
- for i in range(1, int(pages)): + for i in range(1, int(pages)+1): gotPhotos = False while not gotPhotos: try: - for photo in flickr.photosets_getPhotos(photoset_id=photoset_id, per_page='100', page=i).find('photos').getchildren(): + for photo in flickr.photosets_getPhotos(photoset_id=photoset_id, per_page='100', page=i).find('photoset').getchildren(): gotPhotos = True if photo.attrib['id']==start_id: found_start_id=True @@ -394,7 +402,7 @@ photos = flickr.people_getPublicPhotos(user_id=user_id, per_page='100', page='1') pages = photos.find('photos').attrib['pages'] #flickrapi.exceptions.FlickrError - for i in range(1, int(pages)): + for i in range(1, int(pages)+1): gotPhotos = False while not gotPhotos: try: @@ -478,7 +486,7 @@ group_id = arg[10:] elif arg.startswith('-photoset_id'): if len(arg) == 12: - photoset_id = wikipedia.input(u'What is the photoset_id)?') + photoset_id = wikipedia.input(u'What is the photoset_id?') else: photoset_id = arg[13:] elif arg.startswith('-user_id'):
pywikipedia-svn@lists.wikimedia.org