def test_pr_122(self): """ Feature implemented by @susundberg. Set the access time and modification time of a downloaded media according to its IG date. """ looter = ProfileLooter('franz_ferdinand', template='{code}', session=self.session) info = looter.get_post_info('BY77tSfBnRm') # Test download_post post_looter = PostLooter('BY77tSfBnRm', session=self.session, template='{code}') post_looter.download(self.destfs) stat = self.destfs.getdetails('BY77tSfBnRm.jpg') self.assertEqual(stat.raw["details"]["accessed"], info['taken_at_timestamp']) self.assertEqual(stat.raw["details"]["modified"], info['taken_at_timestamp']) # Test download_pictures pic = next(m for m in looter.medias() if not m['is_video']) looter.download_pictures(self.destfs, media_count=1) stat = self.destfs.getdetails('{}.jpg'.format(pic['shortcode'])) self.assertEqual(stat.raw["details"]["accessed"], pic['taken_at_timestamp']) self.assertEqual(stat.raw["details"]["modified"], pic['taken_at_timestamp']) # Test download_videos vid = next(m for m in looter.medias() if m['is_video']) looter.download_videos(self.destfs, media_count=1) stat = self.destfs.getdetails('{}.mp4'.format(vid['shortcode'])) self.assertEqual(stat.raw["details"]["accessed"], vid['taken_at_timestamp']) self.assertEqual(stat.raw["details"]["modified"], vid['taken_at_timestamp'])
def test_issue_015(self): """ Feature request by @MohamedIM. Checks that videos are not downloaded several times if present already in the destination directory. """ looter = ProfileLooter("instagram", session=self.session) looter.download_videos(self.destfs, media_count=1) video_file = next(self.destfs.filterdir("/", ["*.mp4"])) mtime = self.destfs.getdetails(video_file.name).accessed looter.download_videos(self.destfs, media_count=1) self.assertEqual(mtime, self.destfs.getdetails(video_file.name).accessed)
def test_issue_015(self): """ Feature request by @MohamedIM. Checks that videos are not downloaded several times if present already in the destination directory. """ looter = ProfileLooter("nintendo", session=self.session) with contexter.Contexter() as ctx: ctx << mock.patch.object(looter, 'pages', MockPages('nintendo')) looter.download_videos(self.destfs, media_count=1) video_file = next(self.destfs.filterdir("/", ["*.mp4"])) mtime = self.destfs.getdetails(video_file.name).accessed looter.download_videos(self.destfs, media_count=1) self.assertEqual(mtime, self.destfs.getdetails(video_file.name).accessed)