def get_upload_status(self): url = 'https://api.flickr.com/services/rest' parameters = dict() parameters['nojsoncallback'] = '1' parameters['format'] = 'json' parameters['method'] = 'flickr.people.getUploadStatus' parameters = auth.gen_oauth_params('GET', url, parameters) resp = requests.get(url, params=parameters) print(resp.text)
def test_login(self): url = 'https://api.flickr.com/services/rest' parameters = dict() parameters['nojsoncallback'] = '1' parameters['format'] = 'json' parameters['method'] = 'flickr.test.login' parameters = auth.gen_oauth_params('GET', url, parameters) resp = requests.get(url, params=parameters) print(resp.text)
def upload( self, f, title='', description='', tags='', is_public='0', is_friend='0', is_family='0', safety_level='2', hidden='2'): """ Upload photo from file object. f The file to upload. title (optional) The title of the photo. description (optional) A description of the photo. May contain some limited HTML. tags (optional) A space-seperated list of tags to apply to the photo. is_public, is_friend, is_family (optional) Set to 0 for no, 1 for yes. Specifies who can view the photo. safety_level (optional) Set to 1 for Safe, 2 for Moderate, or 3 for Restricted. hidden (optional) Set to 1 to keep the photo in global search results, 2 to hide from public searches. Return: photo's ID if upload successful. """ url = 'https://up.flickr.com/services/upload' files = {'photo': f} params = { 'title': title, 'description': description, 'tags': tags, 'is_public': is_public, 'is_friend': is_friend, 'is_family': is_family, 'safety_level': safety_level, 'hidden': hidden } params = auth.gen_oauth_params('POST', url, params) resp = requests.post(url, files=files, data=params) dom = ET.fromstring(resp.text) if dom.get('stat') == 'ok': photoid = dom.find('photoid').text return photoid else: print("There's something wrong here")
def photosets_add(self, photoset_id, photo_id): """ Add a photo to the end of an existing photoset. Return: True if OK, False if not """ url = 'https://api.flickr.com/services/rest' params = { 'api_key': self.api_key, 'method': 'flickr.photosets.addPhoto', 'format': 'json', 'nojsoncallback': '1', 'photoset_id': photoset_id, 'photo_id': photo_id } params = auth.gen_oauth_params('POST', url, params) resp = requests.post(url, params=params) print(resp.text) data = json.loads(resp.text) return (data.get('stat') == 'ok')
def get_photo_links(self, photoid): """ Get photo's links of uploaded image photoid: ID of uploaded image Return: dict of links. """ url = 'https://api.flickr.com/services/rest' params = dict() params['api_key'] = self.api_key params['photo_id'] = photoid params['method'] = 'flickr.photos.getSizes' params = auth.gen_oauth_params('GET', url, params) resp = requests.get(url, params=params) dom = ET.fromstring(resp.text) if dom.get('stat') == 'ok': sizes = dom.find('sizes').findall('size') links = OrderedDict() for size in sizes: links[size.get('label')] = size.get('source') return links else: print("There's something wrong here")