def import_file(file_name, ): """ Importuje dane z pliku do bazy """ # rozpoznanie formatu if file_name.endswith(".csv"): importer = read_csv elif file_name.endswith(".xlsx"): importer = read_excel else: raise FileError("Nieprawidłowy format pliku") data = importer(file_name) update_database(data) print("Program zakończył działanie.")
def scan_config(config, config_dir=None): """ Return the real config path or raise an exception. If config is directory, scan for .tmuxp.{yaml,yml,json} in directory. If one or more found, it will warn and pick the first. If config is ".", "./" or None, it will scan current directory. If config is has no path and only a filename, e.g. "myconfig.yaml" it will search config dir. If config has no path and only a name with no extension, e.g. "myconfig", it will scan for file name with yaml, yml and json. If multiple exist, it will warn and pick the first. Parameters ---------- config : str config file, valid examples: - a file name, myconfig.yaml - relative path, ../config.yaml or ../project - a period, . Raises ------ :class:`click.exceptions.FileError` """ if not config_dir: config_dir = get_config_dir() path = os.path exists, join, isabs = path.exists, path.join, path.isabs dirname, normpath, splitext = path.dirname, path.normpath, path.splitext cwd = os.getcwd() is_name = False file_error = None config = os.path.expanduser(config) # if purename, resolve to confg dir if is_pure_name(config): is_name = True elif ( not isabs(config) or len(dirname(config)) > 1 or config == '.' or config == "" or config == "./" ): # if relative, fill in full path config = normpath(join(cwd, config)) # no extension, scan if not splitext(config)[1]: if is_name: candidates = [ x for x in [ '%s%s' % (join(config_dir, config), ext) for ext in ['.yaml', '.yml', '.json'] ] if exists(x) ] if not len(candidates): file_error = ( 'config not found in config dir (yaml/yml/json) %s ' 'for name' % (config_dir) ) else: candidates = [ x for x in [ join(config, ext) for ext in ['.tmuxp.yaml', '.tmuxp.yml', '.tmuxp.json'] ] if exists(x) ] if len(candidates) > 1: click.secho( 'Multiple .tmuxp.{yml,yaml,json} configs in %s' % dirname(config), fg="red", ) click.echo( click.wrap_text( 'This is undefined behavior, use only one. ' 'Use file names e.g. myproject.json, coolproject.yaml. ' 'You can load them by filename.' ) ) elif not len(candidates): file_error = 'No tmuxp files found in directory' if len(candidates): config = candidates[0] elif not exists(config): file_error = 'file not found' if file_error: raise FileError(file_error, config) return config
def __init__(self, path, html_result_dir, jsons, temp_dir, is_vendor=False, is_yang_lib=False, data=None, is_vendor_imp_inc=False, run_integrity=False): self.run_integrity = run_integrity self.__temp_dir = temp_dir self.__missing_submodules = [] self.__missing_modules = [] self.__missing_namespace = None self.__missing_revision = None self.is_yang_lib = is_yang_lib self.html_result_dir = html_result_dir self.jsons = jsons self.__is_vendor = is_vendor self.revision = '*' self.__path = path self.features = [] self.deviations = [] if is_vendor: if is_yang_lib: self.deviations = data['deviations'] self.features = data['features'] self.revision = data['revision'] if self.revision is None: self.revision = '*' self.__path = self.__find_file(data['name'], self.revision) else: self.features = self.\ __resolve_deviations_and_features('features=', data) self.deviations = \ self.__resolve_deviations_and_features('deviations=', data) if 'revision' in data: revision_and_more = data.split('revision=')[1] revision = revision_and_more.split('&')[0] self.revision = revision self.__path = self.__find_file( data.split('&')[0], self.revision) else: self.__path = path if is_vendor_imp_inc: self.__is_vendor = True if self.__path: self.name = None self.organization = None self.ietf_wg = None self.namespace = None self.schema = None self.generated_from = None self.maturity_level = None self.document_name = None self.author_email = None self.reference = None self.tree = None self.expired = None self.expiration_date = None self.module_classification = None self.compilation_status = None self.compilation_result = {} self.prefix = None self.yang_version = None self.description = None self.contact = None self.belongs_to = None self.submodule = [] self.dependencies = [] self.module_type = None self.tree_type = None self.semver = None self.derived_semver = None self.implementation = [] self.imports = [] self.json_submodules = json.dumps([]) self.__parsed_yang = yangParser.parse(os.path.abspath(self.__path)) if self.__parsed_yang is None: pass # TODO file has wrong format. probably end with CODE END else: raise FileError(path.split('&')[0], 'File not found')
#!/usr/bin/env python __author__ = "*****@*****.**" import subprocess import sys from click.exceptions import FileError def run_cmd(cmd): if subprocess.check_call(cmd, shell=True) != 0: raise Exception("Error cmd:").with_traceback(cmd) input = sys.argv[1] # ex: test.sam if not input.endswith(".sam"): raise FileError("Only accepts files ending in .sam. Abort!") prefix = input[:-4] run_cmd("samtools view -bS {0}.sam > {0}.bam".format(prefix)) run_cmd("samtools sort {0}.bam > {0}.sorted.bam".format(prefix)) run_cmd(f"samtools index {prefix}.sorted.bam")