def main(argv=sys.argv): if len(argv) != 2 and len(argv) != 3: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) dir_name = dump_data() if len(argv) == 3 and argv[2] == '--make-id-start-0': id_verificator.start(dir_name)
def main(argv=sys.argv): if len(argv) != 2 and len(argv) != 3: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) script_dir = os.path.dirname(__file__) rel_path_source_data = "../source_data/" source_data_dir = os.path.join(script_dir, rel_path_source_data) parse_data(source_data_dir) verify_ids()
def main(argv=sys.argv): if len(argv) != 2 and len(argv) != 3: usage(argv) config_uri = argv[1] conf_parser_args = argv[2] conf_parser = dict((k, True) for k in conf_parser_args.split(',')) setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) script_dir = os.path.dirname(__file__) rel_path_source_data = "./csv/" source_data_dir = os.path.join(script_dir, rel_path_source_data) csv_data = parse_data(source_data_dir) analyze(csv_data, conf_parser)
def main(argv=sys.argv): usage = 'usage: %prog -i INPUTFILE -c <config_uri>\n (example: "%prog -i data.scv development.ini")' parser = OptionParser(usage = usage) parser.add_option("-i", "--input", dest="infile", action='store', type="string", help="read csv from INPUT file") parser.add_option("-c", "--config", dest="config", action='store', type="string", help="config file") (options, args) = parser.parse_args() if options.infile == None or options.config == None: parser.error("incorrect number of arguments") config_uri = options.config setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) # Заполним таблицы данными: gen_sql(read_data(options.infile))
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) my_session_factory = UnencryptedCookieSessionFactoryConfig('sosecret') authn_policy = AuthTktAuthenticationPolicy('sosecret', callback=groupfinder) authz_policy = ACLAuthorizationPolicy() config = Configurator( settings=settings, root_factory=my_session_factory, authentication_policy=authn_policy, authorization_policy=authz_policy ) config.include('pyramid_mako') config.add_static_view('static', 'nextgisbio:static', cache_max_age=3600) config.add_static_view('contrib', 'nextgisbio:contrib', cache_max_age=3600) config.add_route('home', '/', factory=RootFactory) config.add_route('taxons_editor', '/taxons/editor', factory=RootFactory) config.add_route('login', '/login', factory=RootFactory) config.add_route('logout', '/logout', factory=RootFactory) config.add_route('taxon_filter', '/taxon/filter', factory=RootFactory) config.add_route('species_name', '/species', factory=RootFactory) config.add_route('taxon_direct_child', '/taxon/direct_child', factory=RootFactory) config.add_route('get_taxon_path', '/taxon/path/{id}', factory=RootFactory) config.add_route('taxon_type', '/taxon/type/{id}', factory=RootFactory) config.add_route('taxon_cbtree', '/cbtree/taxons', factory=RootFactory) config.add_route('get_taxon_tree_childrens', '/tree/taxons/{taxon_parent_id}', factory=RootFactory) config.add_route('taxon_tree', '/tree/taxons/', factory=RootFactory) config.add_route('get_child_taxons_by_parent', '/taxon/child', factory=RootFactory) config.add_route('get_taxon', '/taxon/{id}', factory=RootFactory) config.add_route('get_synonyms', 'taxons/synonyms/{taxon_id}/', factory=RootFactory) config.add_route('synonyms_by_taxon', 'taxons/synonyms/{taxon_id}/{synonym_id}', factory=RootFactory) # reports config.add_route('protected_species_list', '/reports/protected_species_list', factory=RootFactory) config.add_route('redbook_filter', '/redbook/filter', factory=RootFactory) config.add_route('species_by_redbook', '/species/redbook/{redbook_id}', factory=RootFactory) # Фильтр видов по его типу, подстроки названия и (если указан) id config.add_route('species_filter', '/species/{type}/{id:[0-9]*}', factory=RootFactory) # Карточки наблюдений, где был описан определенный таксон: config.add_route('points_text', '/points_text/', factory=RootFactory) # Экспорт карточек наблюдений config.add_route('cards_download', '/cards_download/{format}/', factory=RootFactory) # Создание новой карточки наблюдения config.add_route('new_card', '/cards/new', factory=RootFactory) # Сохранить карточку после редактирования config.add_route('save_card', '/cards/save', factory=RootFactory) # Карточка наблюдений в формате json config.add_route('cards_view', '/cards/{id}', factory=RootFactory) config.add_route('card', '/card/{id}', factory=RootFactory) config.add_route('get_card_images', '/card/{id}/images', factory=RootFactory) # Аннотированные списки в квадрате № id, с описанем определенного таксона: config.add_route('anns_text', '/anns_text/square/{id}', factory=RootFactory) # Экспорт аннотированных списков config.add_route('anns_download', '/anns_download/{format}/', factory=RootFactory) # Создание нового анн. списка config.add_route('new_anlist', '/annotation/new', factory=RootFactory) # Сохранить анн. список после редактирования config.add_route('save_anlist', '/annotation/save', factory=RootFactory) config.add_route('annotation', '/annotation/{id}', factory=RootFactory) # Квадраты и ключевые участки config.add_route('squares_text', '/squares_text/', factory=RootFactory) # Квадрат и ключевые участки, на которые он попадает config.add_route('square', '/square/{id}', factory=RootFactory) # Аннотации по ключевому участку config.add_route('karea_ann', '/key_area/{id}/ann', factory=RootFactory) # Квадраты, где был найден определенный таксон: config.add_route('areal_text', '/areal_text/', factory=RootFactory) # Квадраты, где был найден определенный таксон: config.add_route('areal_download', '/areal/download/', factory=RootFactory) # Выдать данные из таблицы связей квадраты-КУ в формате csv config.add_route('s_ka_association_download', 'association_download', factory=RootFactory) config.add_route('upload_image', '/images/upload/{type}/{id}', factory=RootFactory) config.add_route('remove_image', '/images/remove/{type}/{image_id}', factory=RootFactory) config.add_route('cards_table', '/cards/table/', factory=RootFactory) config.add_route('cards_jtable_browse', '/cards/manager/jtable/list', factory=RootFactory) config.add_route('cards_by_user', '/reports/cards_by_user/', factory=RootFactory) config.add_route('cards_by_user_jtable_browse', '/reports/cards_by_user/jtable/list', factory=RootFactory) config.add_route('export_cards_table', '/export/cards/', factory=RootFactory) config.add_route('persons_manager', '/persons/manager', factory=RootFactory) config.add_route('persons_jtable_browse', '/persons/manager/jtable/list', factory=RootFactory) config.add_route('persons_jtable_save', '/persons/manager/jtable/save', factory=RootFactory) config.add_route('persons_jtable_delete', '/persons/manager/jtable/delete', factory=RootFactory) config.add_route('persons_get_users_options', '/persons/manager/options/users', factory=RootFactory) config.add_route('get_users', '/users/', factory=RootFactory) # Справочники: config.add_route('person_name', '/person_name', factory=RootFactory) # Инфоресурсы config.add_route('inforesources_name', 'inforesources_name', factory=RootFactory) # jtable specific views config.add_route('table_browse_jtable', '{table}/jtable', factory=RootFactory) config.add_route('table_save_jtable', '{table}/jtable/save', factory=RootFactory) config.add_route('table_delete_jtable', '{table}/jtable/delete', factory=RootFactory) # Выдать данные из таблицы в формате json config.add_route('table_browse', '{table}_browse', factory=RootFactory) # Выдать данные по конкретной записи из таблицы в формате json: config.add_route('table_view', '/{table}/{id}', factory=RootFactory) # Выдать данные из таблицы в формате csv config.add_route('table_download', '{table}_download', factory=RootFactory) config.scan() return config.make_wsgi_app()
def main(argv=sys.argv): if len(argv) != 2 and len(argv) != 3: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) md5_pass = False if len(argv) == 3 and argv[2] == '--md5-pass': md5_pass = True Base.metadata.drop_all(engine) Base.metadata.create_all(engine) # Заполним таблицы данными: # Таксоны taxons_file = 'nextgisbio/initial_data/csv/taxon.csv' Taxon.add_from_file(taxons_file) synonym_file = 'nextgisbio/initial_data/csv/synonym.csv' Synonym.add_from_file(synonym_file) # Справочники person_file = 'nextgisbio/initial_data/csv/person.csv' Person.add_from_file(person_file) taxa_file = 'nextgisbio/initial_data/csv/taxa_scheme.csv' Taxa_scheme.add_from_file(taxa_file) museum_file = 'nextgisbio/initial_data/csv/museum.csv' Museum.add_from_file(museum_file) coord_type_file = 'nextgisbio/initial_data/csv/coord_type.csv' Coord_type.add_from_file(coord_type_file) ant_file = 'nextgisbio/initial_data/csv/anthr_press.csv' Anthr_press.add_from_file(ant_file) vital_file = 'nextgisbio/initial_data/csv/vitality.csv' Vitality.add_from_file(vital_file) abundance_file = 'nextgisbio/initial_data/csv/abundance.csv' Abundance.add_from_file(abundance_file) footprint_file = 'nextgisbio/initial_data/csv/footprint.csv' Footprint.add_from_file(footprint_file) pheno_file = 'nextgisbio/initial_data/csv/pheno.csv' Pheno.add_from_file(pheno_file) infores_file = 'nextgisbio/initial_data/csv/inforesources.csv' Inforesources.add_from_file(infores_file) area_type_file = 'nextgisbio/initial_data/csv/area_type.csv' Area_type.add_from_file(area_type_file) legend_file = 'nextgisbio/initial_data/csv/legend.csv' Legend.add_from_file(legend_file) key_area_file = 'nextgisbio/initial_data/csv/key_area.csv' Key_area.add_from_file(key_area_file) # Нужно добавить шейпы и заполнить данными таблицу # связей (square_keyarea_association) многие-ко-многим между Squares и Key_area shp_file = 'nextgisbio/initial_data/shp/key_areas_25km.shp' association_file = 'nextgisbio/initial_data/csv/square_karea_association.csv' Squares.add_from_file(association_file, shp_file) # Карточки и аннотации cards_file = 'nextgisbio/initial_data/csv/cards.csv' Cards.add_from_file(cards_file) ann_file = 'nextgisbio/initial_data/csv/annotation.csv' Annotation.add_from_file(ann_file) # Пользователи users_file = 'nextgisbio/initial_data/csv/user.csv' User.add_from_file(users_file, md5_pass) red_books_csv = 'nextgisbio/initial_data/csv/redbooks.csv' RedBook.import_from_csv(red_books_csv) images_csv = 'nextgisbio/initial_data/csv/images.csv' Images.import_from_csv(images_csv) cards_images_csv = 'nextgisbio/initial_data/csv/cards_images.csv' CardsImages.import_from_csv(cards_images_csv)