def create_repo(self, name): print('New repo is created') for repo in self.repo: if repo.get_name() == name: raise ValueError('A repository with this name already exists.') new_repo = Repository(name=name) self.repo.append(new_repo)
def test_add_item(): repo = Repository() repo.add_item(1) assert repo.get_items() == [1] repo.undo() assert repo.get_items() == []
def save_card(word, image_path, filepath='data/cards/', filename=None): '''Функция для генерации и сохранения изображения Возвращает filepath+filename Параметры: word - слово, чей контент будет на карточке image - задний фон изображения filepath - путь для хранения изображения filename - имя изображения ''' content = urbandictionary_api.get_word_data(word) image = Image.open(image_path) rep = Repository() fonts = rep.fonts model = CardModel(content=content, image=image, auth_font=fonts.aut_font, cat_font=fonts.cat_font, def_font=fonts.def_font, ex_font=fonts.ex_font, rect_font=fonts.rect_font, word_font=fonts.word_font, thumb_font=fonts.thumb_font) card_drawer = CardDrawer(model) card_drawer.draw_card() path = card_drawer.save(filepath=filepath, filename=filename) return path
def test_replace_item(): repo = Repository() repo.add_item(0) repo.add_item(1) repo.add_item(1) repo.add_item(1) repo.replace_item(lambda item: item == 1, 0) assert repo.get_items() == [0, 0, 1, 1] repo.undo() assert repo.get_items() == [0, 1, 1, 1]
def test_get_items(): repo = Repository() repo.add_item(0) repo.add_item(1) assert repo.get_item(lambda item: item == 1) == 1 repo.add_item(1) assert repo.get_items() == [0, 1, 1] assert repo.get_items(lambda item: item == 1) == [1, 1] assert not repo.get_items(lambda item: item > 1) repo.add_item(2) assert repo.get_items(lambda item: item > 1) == [2]
def get_repo(self, id=None, name=None): if name is not None: for repo in self.repo: if repo.get_name() == name: return repo elif id is not None: for repo in self.repo: if repo.get_id() == id: return repo return None else: # From App init repo_id = os.listdir( PATH_REPO) # Read files in repositories folder repo = [Repository(id=id) for id in repo_id] # Create Repositories objec from file return repo
def test_get_balance(): repo = Repository() repo.add_item(Transaction(2, 1909, 'in', 'freelancing')) repo.add_item(Transaction(24, 178, 'out', 'food')) repo.add_item(Transaction(1, 1200, 'out', 'rent')) repo.add_item(Transaction(14, 54, 'out', 'food')) repo.add_item(Transaction(14, 55023, 'in', 'salary')) repo.add_item(Transaction(16, 550, 'in', 'freelancing')) repo.add_item(Transaction(23, 1200, 'out', 'project')) repo.add_item(Transaction(2, 230, 'out', 'food')) repo.add_item(Transaction(16, 176, 'out', 'food')) repo.add_item(Transaction(5, 188, 'out', 'food')) assert get_balance(repo, 2) == 479 assert get_balance(repo, 5) == 291
def test_get_max(): repo = Repository() repo.add_item(Transaction(2, 1909, 'in', 'freelancing')) repo.add_item(Transaction(2, 178, 'out', 'food')) repo.add_item(Transaction(1, 1200, 'out', 'rent')) repo.add_item(Transaction(14, 54, 'out', 'food')) repo.add_item(Transaction(14, 55023, 'in', 'salary')) repo.add_item(Transaction(14, 550, 'in', 'freelancing')) repo.add_item(Transaction(23, 1200, 'out', 'project')) repo.add_item(Transaction(2, 230, 'out', 'food')) repo.add_item(Transaction(16, 176, 'out', 'food')) repo.add_item(Transaction(5, 188, 'out', 'food')) assert get_max(repo, 'in', 14).get_money_amount() == 55023 assert get_max(repo, 'out', 2).get_money_amount() == 230
def repositoryUser(self, nameUser, numPage=80): queryVariables = { "nameUser": nameUser, "numPage": numPage } RepositoryAffiliation = {'OWNER': [], 'COLLABORATOR': []} # RepositoryAffiliation = {'OWNER': [], 'COLLABORATOR': []} for repAff in RepositoryAffiliation.keys(): queryVariables["RepositoryAffiliation"] = repAff after = '' c=0 while True: query = Query.repInfo(after) resp = self.requestApiGitHubV4(query, queryVariables) for rep in resp['data']['user']['repositories']['nodes']: RepositoryAffiliation[repAff].append(Repository(repAff, self.user, rep)) if not resp['data']['user']['repositories']['pageInfo']['hasNextPage']: break after = resp['data']['user']['repositories']['pageInfo']['endCursor'] break return RepositoryAffiliation['OWNER'], RepositoryAffiliation['COLLABORATOR']
#!/usr/bin/env python3 # Copyright (c) 2015 Nuxi, https://nuxi.nl/ # # SPDX-License-Identifier: BSD-2-Clause import logging import os import sys from src import util from src.repository import Repository # Setup logging logging.basicConfig(level=logging.INFO) # Locations relative to the source tree. DIR_ROOT = os.getcwd() DIR_DISTFILES = os.path.join(DIR_ROOT, '_obj/distfiles') DIR_TMP = os.path.join(DIR_ROOT, '_obj/fixup_patches') # Parse all of the BUILD rules. repo = Repository(None) # type: ignore for arg in sys.argv[1:]: for filename in util.walk_files(arg): if os.path.basename(filename) == 'BUILD': repo.add_build_file(filename, DIR_DISTFILES) # Regenerate all the patches. for distfile in repo.get_distfiles(): distfile.fixup_patches(DIR_TMP)
# Locations relative to the source tree. DIR_ROOT = os.getcwd() DIR_DISTFILES = os.path.join(DIR_ROOT, '_obj/distfiles') DIR_INSTALL = os.path.join(DIR_ROOT, '_obj/install') DIR_PACKAGES_ARCHLINUX = os.path.join(DIR_ROOT, '_obj/packages/archlinux') DIR_PACKAGES_CYGWIN = os.path.join(DIR_ROOT, '_obj/packages/cygwin') DIR_PACKAGES_DEBIAN = os.path.join(DIR_ROOT, '_obj/packages/debian') DIR_PACKAGES_FREEBSD = os.path.join(DIR_ROOT, '_obj/packages/freebsd') DIR_PACKAGES_HOMEBREW = os.path.join(DIR_ROOT, '_obj/packages/homebrew') DIR_PACKAGES_NETBSD = os.path.join(DIR_ROOT, '_obj/packages/netbsd') DIR_PACKAGES_OPENBSD = os.path.join(DIR_ROOT, '_obj/packages/openbsd') DIR_PACKAGES_REDHAT = os.path.join(DIR_ROOT, '_obj/packages/redhat') DIR_REPOSITORY = os.path.join(DIR_ROOT, 'packages') # Parse all of the BUILD rules. repo = Repository(DIR_INSTALL) for filename in util.walk_files(DIR_REPOSITORY): if os.path.basename(filename) == 'BUILD': repo.add_build_file(filename, DIR_DISTFILES) target_packages = repo.get_target_packages() catalogs = { ArchLinuxCatalog(None, DIR_PACKAGES_ARCHLINUX), CygwinCatalog(None, DIR_PACKAGES_CYGWIN), DebianCatalog(None, DIR_PACKAGES_DEBIAN), FreeBSDCatalog(None, DIR_PACKAGES_FREEBSD), HomebrewCatalog(None, DIR_PACKAGES_HOMEBREW, 'http://example.com/'), NetBSDCatalog(None, DIR_PACKAGES_NETBSD), OpenBSDCatalog(None, DIR_PACKAGES_OPENBSD), RedHatCatalog(None, DIR_PACKAGES_REDHAT), }
def __init__(self): super().__init__() self.__repo = Repository() self.init_repo()
def __init__(self, addr): self.rp = Repository(addr)
#!/usr/bin/env python3 # Copyright (c) 2015 Nuxi, https://nuxi.nl/ # # This file is distributed under a 2-clause BSD license. # See the LICENSE file for details. import logging import os import sys from src import util from src.repository import Repository # Setup logging logging.basicConfig(level=logging.INFO) # Locations relative to the source tree. DIR_ROOT = os.getcwd() DIR_DISTFILES = os.path.join(DIR_ROOT, '_obj/distfiles') DIR_TMP = os.path.join(DIR_ROOT, '_obj/fixup_patches') # Parse all of the BUILD rules. repo = Repository(None) for filename in util.walk_files(sys.argv[1]): if os.path.basename(filename) == 'BUILD': repo.add_build_file(filename, DIR_DISTFILES) # Regenerate all the patches. for distfile in repo.get_distfiles(): distfile.fixup_patches(DIR_TMP)
# Location of the catalog signing keys. ARCHLINUX_PRIVATE_KEY = '31344B15' CYGWIN_PRIVATE_KEY = 'A4836F43' DEBIAN_PRIVATE_KEY = '31344B15' FREEBSD_PRIVATE_KEY = '/home/ed/.cloudabi-ports-freebsd.key' REDHAT_PRIVATE_KEY = '31344B15' # The Homebrew repository needs to know its own URL. HOMEBREW_URL = 'https://nuxi.nl/distfiles/cloudabi-ports/homebrew/' # Zap the old temporary directory. util.remove_and_make_dir(DIR_TMP) # Parse all of the BUILD rules. repo = Repository(os.path.join(DIR_TMP, 'install')) # repo = Repository(os.path.join(os.getcwd(), '_obj/install')) for filename in util.walk_files(os.path.join(os.getcwd(), 'packages')): if os.path.basename(filename) == 'BUILD': repo.add_build_file(filename, DIR_DISTFILES) target_packages = repo.get_target_packages() # The catalogs that we want to create. archlinux_path = os.path.join(DIR_TMP, 'archlinux') archlinux_catalog = ArchLinuxCatalog(DIR_ARCHLINUX_CATALOG, archlinux_path) cygwin_path = os.path.join(DIR_TMP, 'cygwin') cygwin_catalog = CygwinCatalog(DIR_CYGWIN_CATALOG, cygwin_path) debian_path = os.path.join(DIR_TMP, 'debian') debian_catalog = DebianCatalog(DIR_DEBIAN_CATALOG, debian_path) freebsd_path = os.path.join(DIR_TMP, 'freebsd') freebsd_catalog = FreeBSDCatalog(DIR_FREEBSD_CATALOG, freebsd_path)