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" )
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))
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))
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))
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>']))
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))
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))
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")
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)
def setUp(self): from pyimeji.api import Imeji self.api = Imeji(service_url=SERVICE_URL)
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)
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)
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")
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)
def test_service_setup(self): from pyimeji.api import Imeji Imeji(service_url=SERVICE_URL + "FAKE")
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)
def setUp(self): self.api = Imeji()
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])}