コード例 #1
0
ファイル: live_test_usecases.py プロジェクト: ioverka/pyimeji
 def setUpClass(self):  # pragma: no cover
     try:
         # Windows:
         strdir = "C:\\config_dir_pyimeji_my_test"
         strfname = 'config-test.ini'
         # Linux:
         # strdir=/home/user/config_dir_pyimeji_my_test
         my_config = Config(config_dir=strdir, config_file=strfname)
         if 'notdefined' in my_config.get('service', 'url', 'notdefined'):
             print(
                 "No special configuration file defined, will use the default one from folder "
                 + AppDirs('pyimeji').user_config_dir + " ( config.ini )")
             my_config = Config(
                 config_dir=AppDirs('pyimeji').user_config_dir)
         else:
             # log.info("Using special configuration from "+strdir+ " ( config.ini )")
             print("Using special configuration file from folder " +
                   strdir + " ( " + strfname + " )")
         self.api = Imeji(my_config)
         print("Running the tests at " + self.api.service_url + " in " +
               ('PRIVATE' if self.api.service_mode_private else 'PUBLIC') +
               " mode.")
     except ImejiError:
         self.skipTest(
             self,
             "No connection to an imeji instance, no live instance tests will be run"
         )
コード例 #2
0
ファイル: test_usecases.py プロジェクト: mesbahs/pyimeji
class SetUp(unittest.TestCase):
    def setUp(self):
        self.api = Imeji()

    def tearDown(self):

        #delete all collections with title  tag"
        collections = self.api.collections()
        for c in collections:
            if collections[c]["title"]==tag:
                self.api.delete(self.api.collection(c))
コード例 #3
0
ファイル: test_usecases.py プロジェクト: mesbahs/pyimeji
class SetUp(unittest.TestCase):
    def setUp(self):
        self.api = Imeji()

    def tearDown(self):

        #delete all collections with title  tag"
        collections = self.api.collections()
        for c in collections:
            if collections[c]["title"] == tag:
                self.api.delete(self.api.collection(c))
コード例 #4
0
ファイル: live_test_usecases.py プロジェクト: MPDL/pyimeji
class SetUp(unittest.TestCase):
    @classmethod
    def setUpClass(self):  # pragma: no cover
        try:
            # Windows:
            strdir = "C:\\config_dir_pyimeji_my_test"
            strfname = 'config-test.ini'
            # Linux:
            # strdir=/home/user/config_dir_pyimeji_my_test
            my_config = Config(config_dir=strdir, config_file=strfname)
            if 'notdefined' in my_config.get('service', 'url', 'notdefined'):
                print("No special configuration file defined, will use the default one from folder " + AppDirs(
                    'pyimeji').user_config_dir + " ( config.ini )")
                my_config = Config(config_dir=AppDirs('pyimeji').user_config_dir)
            else:
                # log.info("Using special configuration from "+strdir+ " ( config.ini )")
                print("Using special configuration file from folder " + strdir + " ( " + strfname + " )")
            self.api = Imeji(my_config)
            print("Running the tests at " + self.api.service_url + " in " + (
            'PRIVATE' if self.api.service_mode_private else 'PUBLIC') + " mode.")
        except ImejiError:
            self.skipTest(self, "No connection to an imeji instance, no live instance tests will be run")

    @classmethod
    def tearDownClass(self):  # pragma: no cover
        # delete all collections with title  tag"
        collections = self.api.collections(size=500)
        for c in collections:
            if tag in collections[c]["title"]:
                self.api.delete(self.api.collection(c))

        albums = self.api.albums(size=500)
        for c in albums:
            if tag in albums[c]["title"]:
                self.api.delete(self.api.album(c))
コード例 #5
0
ファイル: cli.py プロジェクト: mesbahs/pyimeji
def main(argv=None):  # pragma: no cover
    """Main entry point for the imeji CLI."""
    cfg = Config()
    args = docopt(__doc__, version=__version__, argv=argv)
    api = Imeji(cfg, service_url=args['--service'])
    if args['retrieve']:
        return checked_call(getattr(api, args['<what>']), id=args['<id>'])
    if args['create']:
        return checked_call(api.create, args['<what>'],
                            **parsed_kw(args['<properties>']))
    if args['delete']:
        return checked_call(
            api.delete,
            checked_call(getattr(api, args['<what>']), id=args['<id>']))
コード例 #6
0
ファイル: live_test_usecases.py プロジェクト: ioverka/pyimeji
class SetUp(unittest.TestCase):
    @classmethod
    def setUpClass(self):  # pragma: no cover
        try:
            # Windows:
            strdir = "C:\\config_dir_pyimeji_my_test"
            strfname = 'config-test.ini'
            # Linux:
            # strdir=/home/user/config_dir_pyimeji_my_test
            my_config = Config(config_dir=strdir, config_file=strfname)
            if 'notdefined' in my_config.get('service', 'url', 'notdefined'):
                print(
                    "No special configuration file defined, will use the default one from folder "
                    + AppDirs('pyimeji').user_config_dir + " ( config.ini )")
                my_config = Config(
                    config_dir=AppDirs('pyimeji').user_config_dir)
            else:
                # log.info("Using special configuration from "+strdir+ " ( config.ini )")
                print("Using special configuration file from folder " +
                      strdir + " ( " + strfname + " )")
            self.api = Imeji(my_config)
            print("Running the tests at " + self.api.service_url + " in " +
                  ('PRIVATE' if self.api.service_mode_private else 'PUBLIC') +
                  " mode.")
        except ImejiError:
            self.skipTest(
                self,
                "No connection to an imeji instance, no live instance tests will be run"
            )

    @classmethod
    def tearDownClass(self):  # pragma: no cover
        # delete all collections with title  tag"
        collections = self.api.collections(size=500)
        for c in collections:
            if tag in collections[c]["title"]:
                self.api.delete(self.api.collection(c))

        albums = self.api.albums(size=500)
        for c in albums:
            if tag in albums[c]["title"]:
                self.api.delete(self.api.album(c))
コード例 #7
0
ファイル: live_test_usecases.py プロジェクト: ioverka/pyimeji
class SetUp(unittest.TestCase):
    @classmethod
    def setUpClass(self):  # pragma: no cover
        try:
            self.api = Imeji()
        except ImejiError:
            self.skipTest(self, "No connection to an imeji instance, no tests will be run")

    @classmethod
    def tearDownClass(self):  # pragma: no cover
        # delete all collections with title  tag"
        collections = self.api.collections(size=500)
        for c in collections:
            if tag in collections[c]["title"]:
                self.api.delete(self.api.collection(c))

        albums = self.api.albums(size=500)
        for c in albums:
            if tag in albums[c]["title"]:
                self.api.delete(self.api.album(c))
コード例 #8
0
ファイル: live_test_usecases.py プロジェクト: MPDL/pyimeji
 def setUpClass(self):  # pragma: no cover
     try:
         # Windows:
         strdir = "C:\\config_dir_pyimeji_my_test"
         strfname = 'config-test.ini'
         # Linux:
         # strdir=/home/user/config_dir_pyimeji_my_test
         my_config = Config(config_dir=strdir, config_file=strfname)
         if 'notdefined' in my_config.get('service', 'url', 'notdefined'):
             print("No special configuration file defined, will use the default one from folder " + AppDirs(
                 'pyimeji').user_config_dir + " ( config.ini )")
             my_config = Config(config_dir=AppDirs('pyimeji').user_config_dir)
         else:
             # log.info("Using special configuration from "+strdir+ " ( config.ini )")
             print("Using special configuration file from folder " + strdir + " ( " + strfname + " )")
         self.api = Imeji(my_config)
         print("Running the tests at " + self.api.service_url + " in " + (
         'PRIVATE' if self.api.service_mode_private else 'PUBLIC') + " mode.")
     except ImejiError:
         self.skipTest(self, "No connection to an imeji instance, no live instance tests will be run")
コード例 #9
0
ファイル: test_api.py プロジェクト: mesbahs/pyimeji
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji

        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            album.release()
            album.link()
            album.unlink()
            album.discard('test')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')
            collection.dumps()
            repr(collection)
            collection2 = self.api.create('collection',
                                          title='abc',
                                          profile='dhV6XK39_UPrItK5')
            collection2.add_item(referenceUrl='http://example.org/')
            assert collection2
            collection.release()
            collection2.delete()
            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__)
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.metadata = os.path.join(os.path.dirname(__file__),
                                          'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'Research Data')

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(('--service=%s retrieve collection FKMxUpYdV9N2J4XG' %
                        SERVICE_URL).split())
            self.assertIsInstance(res, Collection)
コード例 #10
0
ファイル: test_api.py プロジェクト: mesbahs/pyimeji
    def setUp(self):
        from pyimeji.api import Imeji

        self.api = Imeji(service_url=SERVICE_URL)
コード例 #11
0
ファイル: test_api.py プロジェクト: mesbahs/pyimeji
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji

        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            album.release()
            album.link()
            album.unlink()
            album.discard('test')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')
            collection.dumps()
            repr(collection)
            collection2 = self.api.create(
                'collection', title='abc', profile='dhV6XK39_UPrItK5')
            collection2.add_item(referenceUrl='http://example.org/')
            assert collection2
            collection.release()
            collection2.delete()
            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__)
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.metadata = os.path.join(os.path.dirname(__file__), 'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'Research Data')

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(
                ('--service=%s retrieve collection FKMxUpYdV9N2J4XG' % SERVICE_URL)
                .split())
            self.assertIsInstance(res, Collection)
コード例 #12
0
ファイル: test_api.py プロジェクト: mesbahs/pyimeji
    def setUp(self):
        from pyimeji.api import Imeji

        self.api = Imeji(service_url=SERVICE_URL)
コード例 #13
0
 def test_service_unavailable_in_meantime_setup(self):
     from pyimeji.api import Imeji
     with HTTMock(imeji):
         api = Imeji(service_url=SERVICE_URL)
         api.service_url = "http://non_existing_service"
         api._req(SERVICE_URL, json_res=True, assert_status=200)
コード例 #14
0
ファイル: live_test_usecases.py プロジェクト: ioverka/pyimeji
 def setUpClass(self):  # pragma: no cover
     try:
         self.api = Imeji()
     except ImejiError:
         self.skipTest(self, "No connection to an imeji instance, no tests will be run")
コード例 #15
0
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji
        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            if not self.api.service_mode_private:
                album.release()
                album = self.api.album(album.id)
                album.link(['Wo1JI_oZNyrfxV_t'])
                album.unlink(['Wo1JI_oZNyrfxV_t'])
                album.discard('test comment')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')

            collection_template_item = collection.item_template()
            self.assertEqual(collection_template_item.collectionId,
                             collection.id)

            collection.dumps()
            if not self.api.service_mode_private:
                collection.release()

            repr(collection)

            collection2 = self.api.create('collection',
                                          title='abc',
                                          profile='dhV6XK39_UPrItK5')
            assert collection2
            collection2.delete()

            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            assert collection3

            collection.description = 'test description'
            collection = collection.save()
            assert collection

            collections = self.api.collections(size=500, q='Test', offset=0)
            self.assertEqual(self.api.total_number_of_results, 1)
            self.assertEqual(self.api.number_of_results, 1)
            self.assertEqual(self.api.offset, 0)
            self.assertEqual(self.api.size, 1)

            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            with self.assertRaises(ValueError):
                self.api.collections(size=500, qquery='Test', offset=0)

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__, filename='name.png')
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.filename = os.path.join(
                os.path.dirname(os.path.abspath(__file__)), 'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)
            collection = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            item3 = collection.add_item(_file=__file__)
            self.assertEqual(item3.filename, 'virr-image.tif')
            item3.filename = 'name.png'
            item3.save()
            self.assertEqual(item3.filename, 'name.png')
            item3 = self.api.update(item3, filename='virr-image.tif')
            assert item3
            with self.assertRaises(AttributeError):
                item3 = self.api.update(item3, metadata='some metadata')

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'METADATA PROFILE VIA REST')
            profile.title = "NEW PROFILE TITLE"
            profile_template_item = profile.item_template()
            self.assertEqual(profile_template_item.collectionId,
                             'provide-your-collection-id-here')
            profile1 = profile.copy()
            profile.delete()
            assert profile1

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(('--service=%s retrieve collection FKMxUpYdV9N2J4XG' %
                        SERVICE_URL).split())
            self.assertIsInstance(res, Collection)
コード例 #16
0
ファイル: test_api.py プロジェクト: MPDL/pyimeji
 def test_service_unavailable_in_meantime_setup(self):
     from pyimeji.api import Imeji
     with HTTMock(imeji):
         api = Imeji(service_url=SERVICE_URL)
         api.service_url = "http://non_existing_service"
         api._req(SERVICE_URL, json_res=True, assert_status=200)
コード例 #17
0
 def test_service_setup(self):
     from pyimeji.api import Imeji
     Imeji(service_url=SERVICE_URL + "FAKE")
コード例 #18
0
ファイル: test_api.py プロジェクト: MPDL/pyimeji
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji
        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            if not self.api.service_mode_private:
                album.release()
                album = self.api.album(album.id)
                album.link(['Wo1JI_oZNyrfxV_t'])
                album.unlink(['Wo1JI_oZNyrfxV_t'])
                album.discard('test comment')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')

            collection_template_item = collection.item_template()
            self.assertEqual(collection_template_item.collectionId, collection.id)

            collection.dumps()
            if not self.api.service_mode_private:
                collection.release()

            repr(collection)

            collection2 = self.api.create('collection', title='abc', profile='dhV6XK39_UPrItK5')
            assert collection2
            collection2.delete()

            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            assert collection3

            collection.description='test description'
            collection= collection.save()
            assert collection

            collections = self.api.collections(size=500, q='Test', offset=0)
            self.assertEqual(self.api.total_number_of_results,1)
            self.assertEqual(self.api.number_of_results,1)
            self.assertEqual(self.api.offset,0)
            self.assertEqual(self.api.size,1)

            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            with self.assertRaises(ValueError):
                self.api.collections(size=500, qquery='Test', offset=0)

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__, filename='name.png')
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.filename = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)
            collection = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            item3= collection.add_item( _file=__file__)
            self.assertEqual(item3.filename, 'virr-image.tif')
            item3.filename='name.png'
            item3.save()
            self.assertEqual(item3.filename, 'name.png')
            item3=self.api.update(item3, filename='virr-image.tif')
            assert item3
            with self.assertRaises(AttributeError):
                item3=self.api.update(item3, metadata='some metadata')

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'METADATA PROFILE VIA REST')
            profile.title = "NEW PROFILE TITLE"
            profile_template_item = profile.item_template()
            self.assertEqual(profile_template_item.collectionId, 'provide-your-collection-id-here')
            profile1 = profile.copy()
            profile.delete()
            assert profile1

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(
                ('--service=%s retrieve collection FKMxUpYdV9N2J4XG' % SERVICE_URL)
                    .split())
            self.assertIsInstance(res, Collection)
コード例 #19
0
ファイル: test_usecases.py プロジェクト: mesbahs/pyimeji
 def setUp(self):
     self.api = Imeji()
コード例 #20
0
ファイル: test_usecases.py プロジェクト: mesbahs/pyimeji
 def setUp(self):
     self.api = Imeji()
コード例 #21
0
ファイル: FacesPictures.py プロジェクト: MPDL/FacesMigration
import pyimeji
import ntpath
import logging
import csv
import os

from pyimeji.api import Imeji

imeji = Imeji()
# Faces pictures
image_dir = "C:\Users\saquet\Pictures\high_resolution"
# Faces small videos


def getCollection():
    print("Get collection")
    return imeji.create('collection', title='Faces collection')


def getFiles():
    print("Get Files")
    return os.listdir(image_dir)


def getEntryAsText(dict, key):
    return {"index": key, "text": dict[key]}


def getEntryAsNumber(dict, key):
    return {"index": key, "number": int(dict[key])}