Python os.path.replace() Examples

The following are code examples for showing how to use os.path.replace(). They are extracted from open source Python projects. You can vote up the examples you like or vote down the ones you don't like. You can also save this page to your account.

Example 1
Project: flasky   Author: RoseOu   File: files.py    (license) View Source Project 6 votes vote down vote up
def map(self, path):
        """Map `path` through the aliases.

        `path` is checked against all of the patterns.  The first pattern to
        match is used to replace the root of the path with the result root.
        Only one pattern is ever used.  If no patterns match, `path` is
        returned unchanged.

        The separator style in the result is made to match that of the result
        in the alias.

        """
        for regex, result, pattern_sep, result_sep in self.aliases:
            m = regex.match(path)
            if m:
                new = path.replace(m.group(0), result)
                if pattern_sep != result_sep:
                    new = new.replace(pattern_sep, result_sep)
                if self.locator:
                    new = self.locator.canonical_filename(new)
                return new
        return path 
Example 2
Project: dockerscan   Author: cr0hn   File: docker_api.py    (license) View Source Project 6 votes vote down vote up
def extract_docker_layer(img: tarfile.TarFile,
                         layer_id: str,
                         extract_path: str):
    with tarfile.open(fileobj=img.extractfile('%s/layer.tar' % layer_id),
                      errorlevel=0,
                      dereference=True) as layer:

        layer.extractall(path=extract_path)

        log.debug('processing whiteouts')
        for member in layer.getmembers():
            path = member.path
            if path.startswith('.wh.') or '/.wh.' in path:
                if path.startswith('.wh.'):
                    newpath = path[4:]
                else:
                    newpath = path.replace('/.wh.', '/')

                try:
                    log.debug('removing path %s', newpath)
                    os.unlink(path)
                    os.unlink(newpath)
                except OSError as err:
                    if err.errno != errno.ENOENT:
                        raise 
Example 3
Project: charm-specs   Author: openstack   File: redirect.py    (license) View Source Project 6 votes vote down vote up
def process_redirect_file(app, path, ent):
    parent_path = path.replace(app.builder.srcdir, app.builder.outdir)
    with open(os.path.join(path, ent)) as redirects:
        for line in redirects.readlines():
            from_path, to_path = line.rstrip().split(' ')
            from_path = from_path.replace('.rst', '.html')
            to_path = to_path.replace('.rst', '.html')

            redirected_filename = os.path.join(parent_path, from_path)
            redirected_directory = os.path.dirname(redirected_filename)
            if not os.path.exists(redirected_directory):
                os.makedirs(redirected_directory)
            with open(redirected_filename, 'w') as f:
                f.write('<html><head><meta http-equiv="refresh" content="0; '
                        'url=%s" /></head></html>'
                        % to_path) 
Example 4
Project: openstack-resource-agents-specs   Author: openstack   File: redirect.py    (license) View Source Project 6 votes vote down vote up
def process_redirect_file(app, path, ent):
    parent_path = path.replace(app.builder.srcdir, app.builder.outdir)
    with open(os.path.join(path, ent)) as redirects:
        for line in redirects.readlines():
            from_path, to_path = line.rstrip().split(' ')
            from_path = from_path.replace('.rst', '.html')
            to_path = to_path.replace('.rst', '.html')

            redirected_filename = os.path.join(parent_path, from_path)
            redirected_directory = os.path.dirname(redirected_filename)
            if not os.path.exists(redirected_directory):
                os.makedirs(redirected_directory)
            with open(redirected_filename, 'w') as f:
                f.write('<html><head><meta http-equiv="refresh" content="0; '
                        'url=%s" /></head></html>'
                        % to_path) 
Example 5
Project: tefla   Author: openAGI   File: autodoc.py    (license) View Source Project 6 votes vote down vote up
def get_src_path(obj, src_root='tefla', append_base=True):
    """Creates a src path string with line info for use as markdown link.
    """
    path = getsourcefile(obj)
    if not src_root in path:
        # this can happen with e.g.
        # inlinefunc-wrapped functions
        if hasattr(obj, "__module__"):
            path = "%s.%s" % (obj.__module__, obj.__name__)
        else:
            path = obj.__name__
        path = path.replace(".", "/")
    try:
        pre, post = path.rsplit(src_root + "/", 1)
    except:
        pre, post = '', ''

    lineno = get_line_no(obj)
    lineno = "" if lineno is None else "#L{}".format(lineno)

    path = src_root + "/" + post + lineno
    if append_base:
        path = os.path.join(
            'https://github.com/openagi/tefla/blob/master', path)
    return path 
Example 6
Project: libpth   Author: pthcode   File: tagging.py    (license) View Source Project 6 votes vote down vote up
def directory_name(release):
    '''
    Returns the proper directory name for a Release.
    '''
    artist = textwrap.shorten(release.album_artist, width=50, placeholder='_')
    album = textwrap.shorten(release.title, width=40, placeholder='_')
    year = release.year
    if release.bitrate == 'V0 (VBR)':
        format_info = 'V0'
    elif release.bitrate == '320':
        format_info = '320'
    else:
        format_info = release.format
    if release.medium != 'CD':
        format_info = release.medium + ' ' + format_info
    path = ALBUM_TEMPLATE.substitute(**locals())
    if release.catalog_number:
        path += ' {' + release.catalog_number + '}'
    path = path.replace('/', '_').replace('\\', '_')
    path = sanitize_path(path)
    return path 
Example 7
Project: webapp   Author: superchilli   File: files.py    (license) View Source Project 6 votes vote down vote up
def map(self, path):
        """Map `path` through the aliases.

        `path` is checked against all of the patterns.  The first pattern to
        match is used to replace the root of the path with the result root.
        Only one pattern is ever used.  If no patterns match, `path` is
        returned unchanged.

        The separator style in the result is made to match that of the result
        in the alias.

        """
        for regex, result, pattern_sep, result_sep in self.aliases:
            m = regex.match(path)
            if m:
                new = path.replace(m.group(0), result)
                if pattern_sep != result_sep:
                    new = new.replace(pattern_sep, result_sep)
                if self.locator:
                    new = self.locator.canonical_filename(new)
                return new
        return path 
Example 8
Project: Chromium_DepotTools   Author: p07r0457   File: files.py    (license) View Source Project 6 votes vote down vote up
def map(self, path):
        """Map `path` through the aliases.

        `path` is checked against all of the patterns.  The first pattern to
        match is used to replace the root of the path with the result root.
        Only one pattern is ever used.  If no patterns match, `path` is
        returned unchanged.

        The separator style in the result is made to match that of the result
        in the alias.

        """
        for regex, result, pattern_sep, result_sep in self.aliases:
            m = regex.match(path)
            if m:
                new = path.replace(m.group(0), result)
                if pattern_sep != result_sep:
                    new = new.replace(pattern_sep, result_sep)
                if self.locator:
                    new = self.locator.canonical_filename(new)
                return new
        return path 
Example 9
Project: aspen.py   Author: AspenWeb   File: dispatch_table_test.py    (license) View Source Project 6 votes vote down vote up
def test_all_table_entries(harness, files, request_uri, expected):
    # set up the specified files
    realfiles = tuple([ f if f.endswith('/') else (f, GENERIC_SPT) for f in files ])
    harness.fs.www.mk(*realfiles)
    try:
        state = harness._hit('GET', request_uri, want='state',
                             return_after='dispatch_path_to_filesystem')
    except exceptions.NotFound:
        result = '404'
    except exceptions.Redirect as err:
        result = '302 ' + err.message
    else:
        result = '200'
        path = format_result(**state)
        if os.sep != posixpath.sep:
            path = path.replace(os.sep, posixpath.sep)
        path = path[len(harness.fs.www.root)+1:]
        if path:
            result += " " + path
    if expected.endswith("*"):
        expected = expected[:-1]
    assert result == expected, "Requesting %r, got %r instead of %r" % (request_uri, result, expected) 
Example 10
Project: node-gn   Author: Shouqun   File: files.py    (license) View Source Project 6 votes vote down vote up
def map(self, path):
        """Map `path` through the aliases.

        `path` is checked against all of the patterns.  The first pattern to
        match is used to replace the root of the path with the result root.
        Only one pattern is ever used.  If no patterns match, `path` is
        returned unchanged.

        The separator style in the result is made to match that of the result
        in the alias.

        """
        for regex, result, pattern_sep, result_sep in self.aliases:
            m = regex.match(path)
            if m:
                new = path.replace(m.group(0), result)
                if pattern_sep != result_sep:
                    new = new.replace(pattern_sep, result_sep)
                if self.locator:
                    new = self.locator.canonical_filename(new)
                return new
        return path 
Example 11
Project: securitybot   Author: dropbox   File: bot_test.py    (license) View Source Project 6 votes vote down vote up
def fake_init(self, tasker, auth_builder, reporting_channel, client):
    self.username = 'testing-bot'
    self.tasker = tasker
    self.auth_builder = auth_builder
    self.reporting_channel = reporting_channel
    self._last_task_poll = datetime.min.replace(tzinfo=pytz.utc)
    self._last_report = datetime.min.replace(tzinfo=pytz.utc)

    self.chat = client

    self.users = {}
    self.users_by_name = {}
    self.active_users = {}

    self.commands = {}

    self.messages = {} 
Example 12
Project: freezer-specs   Author: openstack   File: redirect.py    (license) View Source Project 6 votes vote down vote up
def process_redirect_file(app, path, ent):
    parent_path = path.replace(app.builder.srcdir, app.builder.outdir)
    with open(os.path.join(path, ent)) as redirects:
        for line in redirects.readlines():
            from_path, to_path = line.rstrip().split(' ')
            from_path = from_path.replace('.rst', '.html')
            to_path = to_path.replace('.rst', '.html')

            redirected_filename = os.path.join(parent_path, from_path)
            redirected_directory = os.path.dirname(redirected_filename)
            if not os.path.exists(redirected_directory):
                os.makedirs(redirected_directory)
            with open(redirected_filename, 'w') as f:
                f.write('<html><head><meta http-equiv="refresh" content="0; '
                        'url=%s" /></head></html>'
                        % to_path) 
Example 13
Project: fuel-ccp-specs   Author: openstack   File: redirect.py    (license) View Source Project 6 votes vote down vote up
def process_redirect_file(app, path, ent):
    parent_path = path.replace(app.builder.srcdir, app.builder.outdir)
    with open(os.path.join(path, ent)) as redirects:
        for line in redirects.readlines():
            from_path, to_path = line.rstrip().split(' ')
            from_path = from_path.replace('.rst', '.html')
            to_path = to_path.replace('.rst', '.html')

            redirected_filename = os.path.join(parent_path, from_path)
            redirected_directory = os.path.dirname(redirected_filename)
            if not os.path.exists(redirected_directory):
                os.makedirs(redirected_directory)
            with open(redirected_filename, 'w') as f:
                f.write('<html><head><meta http-equiv="refresh" content="0; '
                        'url=%s" /></head></html>'
                        % to_path) 
Example 14
Project: AnimeWatch   Author: kanishka-linux   File: animeWatch.py    (license) View Source Project 6 votes vote down vote up
def shufflePlaylist(self):
		global epnArrList,site
		if site == "Local" or site =="Video" or site == "Music" or site == "PlayLists" or epnArrList:
			
			t = epnArrList[0]
			if '	' in t:
				print ("++++++++++++++++")
				m = random.sample(epnArrList,len(epnArrList))
				epnArrList[:]=[]
				epnArrList=m
				self.list2.clear()
				for i in epnArrList:
					i = i.replace('\n','')
					if '	' in i:
						i = i.split('	')[0]
						if '#' in i:
							i = '#'+i
							self.list2.item(i).setFont(QtGui.QFont('SansSerif', 10,italic=True))
						else:
							self.list2.addItem((i)) 
Example 15
Project: depot_tools   Author: webrtc-uwp   File: files.py    (license) View Source Project 6 votes vote down vote up
def map(self, path):
        """Map `path` through the aliases.

        `path` is checked against all of the patterns.  The first pattern to
        match is used to replace the root of the path with the result root.
        Only one pattern is ever used.  If no patterns match, `path` is
        returned unchanged.

        The separator style in the result is made to match that of the result
        in the alias.

        """
        for regex, result, pattern_sep, result_sep in self.aliases:
            m = regex.match(path)
            if m:
                new = path.replace(m.group(0), result)
                if pattern_sep != result_sep:
                    new = new.replace(pattern_sep, result_sep)
                if self.locator:
                    new = self.locator.canonical_filename(new)
                return new
        return path 
Example 16
Project: Hawkeye   Author: tozhengxq   File: files.py    (license) View Source Project 6 votes vote down vote up
def map(self, path):
        """Map `path` through the aliases.

        `path` is checked against all of the patterns.  The first pattern to
        match is used to replace the root of the path with the result root.
        Only one pattern is ever used.  If no patterns match, `path` is
        returned unchanged.

        The separator style in the result is made to match that of the result
        in the alias.

        Returns the mapped path.  If a mapping has happened, this is a
        canonical path.  If no mapping has happened, it is the original value
        of `path` unchanged.

        """
        for regex, result, pattern_sep, result_sep in self.aliases:
            m = regex.match(path)
            if m:
                new = path.replace(m.group(0), result)
                if pattern_sep != result_sep:
                    new = new.replace(pattern_sep, result_sep)
                new = canonical_filename(new)
                return new
        return path 
Example 17
Project: glare-specs   Author: openstack   File: redirect.py    (license) View Source Project 6 votes vote down vote up
def process_redirect_file(app, path, ent):
    parent_path = path.replace(app.builder.srcdir, app.builder.outdir)
    with open(os.path.join(path, ent)) as redirects:
        for line in redirects.readlines():
            from_path, to_path = line.rstrip().split(' ')
            from_path = from_path.replace('.rst', '.html')
            to_path = to_path.replace('.rst', '.html')

            redirected_filename = os.path.join(parent_path, from_path)
            redirected_directory = os.path.dirname(redirected_filename)
            if not os.path.exists(redirected_directory):
                os.makedirs(redirected_directory)
            with open(redirected_filename, 'w') as f:
                f.write('<html><head><meta http-equiv="refresh" content="0; '
                        'url=%s" /></head></html>'
                        % to_path) 
Example 18
Project: SceneExplorer   Author: mochio326   File: explorer.py    (license) View Source Project 5 votes vote down vote up
def build_context_menu(self, pos, view, model, add_menu_label=None):
        '''
        ??????????????????????????????????
        :param pos: ??????????????
        :param view: ?????????
        :param model: ?????????
        :return:
        '''
        # ???????
        menu = QtWidgets.QMenu(view)
        menu_labels = ['Show in Explorer']
        if add_menu_label is not None:
            menu_labels.extend(add_menu_label)
        actionlist = []
        for label in menu_labels:
            actionlist.append(menu.addAction(label))
        action = menu.exec_(view.mapToGlobal(pos))
        #menu.close()
        # -----????
        if action is None:
            return None
        text = action.text()
        # Show in Explorer
        if text == menu_labels[0]:
            path = self.get_view_select(view, model)
            # ?????????
            path = path.encode('cp932')
            if os.path.isdir(path):
                subprocess.Popen(r'explorer {0}'.format(path.replace('/', '\\')))
            else:
                subprocess.Popen(r'explorer /select,{0}'.format(path.replace('/', '\\')))
            return None
        return text

    # -----------------------
    # callback
    # ----------------------- 
Example 19
Project: ldap2pg   Author: dalibo   File: config.py    (PostgreSQL License) View Source Project 5 votes vote down vote up
def __init__(self, path, env=_auto_env, secret=False, processor=V.raw):
        self.path = path
        self.arg = path.replace(':', '_')

        env = env or []
        if env == self._auto_env:
            env = [self.arg.upper(), self.path.upper().replace(':', '')]
        self.env = env
        if isinstance(self.env, string_types):
            self.env = [self.env]

        self.processor = processor
        if isinstance(secret, string_types):
            secret = re.compile(secret)
        self.secret = secret 
Example 20
Project: hostapd-mana   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def latexEscape(text):
    text = escapingRE.sub(_escapeMatch, text)
    return text.replace('\n', ' ') 
Example 21
Project: hostapd-mana   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def realpath(path):
    # Normalise path
    cwd = os.getcwd()
    path = os.path.normpath(os.path.join(cwd, path))
    if path.startswith(cwd + '/'):
        path = path[len(cwd)+1:]
    return path.replace('\\', '/') # windows slashes make LaTeX blow up 
Example 22
Project: hostapd-mana   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def writeNodeData(self, node):
        buf = StringIO()
        getLatexText(node, buf.write, latexEscape)
        self.writer(buf.getvalue().replace('<', '$<$').replace('>', '$>$')) 
Example 23
Project: hostapd-mana   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def visitNode_code(self, node):
        fout = StringIO()
        getLatexText(node, fout.write, latexEscape)
        data = lowerUpperRE.sub(r'\1\\linebreak[1]\2', fout.getvalue())
        data = data[:1] + data[1:].replace('.', '.\\linebreak[1]')
        self.writer('\\texttt{'+data+'}') 
Example 24
Project: hostapd-mana   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def convert_dia(self, src, target):
        # EVIL DISGUSTING HACK
        data = os.popen("gunzip -dc %s" % (src)).read()
        pre = '<dia:attribute name="scaling">\n          <dia:real val="1"/>'
        post = '<dia:attribute name="scaling">\n          <dia:real val="0.5"/>'
        open('%s_hacked.dia' % (src), 'wb').write(data.replace(pre, post))
        os.system('gzip %s_hacked.dia' % (src,))
        os.system('mv %s_hacked.dia.gz %s_hacked.dia' % (src,src))
        # Let's pretend we never saw that.

        # Silly dia needs an X server, even though it doesn't display anything.
        # If this is a problem for you, try using Xvfb.
        os.system("dia %s_hacked.dia -n -e %s" % (src, target)) 
Example 25
Project: tensorflow_seq2seq_chatbot   Author: higepon   File: deploy.py    (license) View Source Project 5 votes vote down vote up
def create_checkpoint_file(path):
    # rewrite path
    path = path.replace('Users', 'home')
    f = open('{}/checkpoint'.format(config.GENERATED_DIR), 'w')
    f.write('model_checkpoint_path: "{}"\n'.format(path))
    f.write('all_model_checkpoint_paths: "{}"\n'.format(path))
    f.close() 
Example 26
Project: flasky   Author: RoseOu   File: files.py    (license) View Source Project 5 votes vote down vote up
def add(self, pattern, result):
        """Add the `pattern`/`result` pair to the list of aliases.

        `pattern` is an `fnmatch`-style pattern.  `result` is a simple
        string.  When mapping paths, if a path starts with a match against
        `pattern`, then that match is replaced with `result`.  This models
        isomorphic source trees being rooted at different places on two
        different machines.

        `pattern` can't end with a wildcard component, since that would
        match an entire tree, and not just its root.

        """
        # The pattern can't end with a wildcard component.
        pattern = pattern.rstrip(r"\/")
        if pattern.endswith("*"):
            raise CoverageException("Pattern must not end with wildcards.")
        pattern_sep = sep(pattern)

        # The pattern is meant to match a filepath.  Let's make it absolute
        # unless it already is, or is meant to match any prefix.
        if not pattern.startswith('*') and not isabs_anywhere(pattern):
            pattern = abs_file(pattern)
        pattern += pattern_sep

        # Make a regex from the pattern.  fnmatch always adds a \Z or $ to
        # match the whole string, which we don't want.
        regex_pat = fnmatch.translate(pattern).replace(r'\Z(', '(')
        if regex_pat.endswith("$"):
            regex_pat = regex_pat[:-1]
        # We want */a/b.py to match on Windows too, so change slash to match
        # either separator.
        regex_pat = regex_pat.replace(r"\/", r"[\\/]")
        # We want case-insensitive matching, so add that flag.
        regex = re.compile(r"(?i)" + regex_pat)

        # Normalize the result: it must end with a path separator.
        result_sep = sep(result)
        result = result.rstrip(r"\/") + result_sep
        self.aliases.append((regex, result, pattern_sep, result_sep)) 
Example 27
Project: mail.ru-uploader   Author: instefa   File: upload.py    (license) View Source Project 5 votes vote down vote up
def make_post(session, obj='', csrf='', command='', params = None):
    """ invokes standart cloud post operation
    tested operations: ('file/add', 'folder/add', 'file/remove')
    does not replace existent objects, but logs them
    """
    assert obj is not None, 'no object'
    assert csrf is not None, 'no CSRF'
    assert command is not None, 'no command'

    url = urljoin(CLOUD_URL, command)
    # api (implemented), email, x-email, x-page-id, build - optional parameters
    postdata = {'home': obj, 'conflict': CLOUD_CONFLICT, 'token': csrf, 'api': API_VER}
    if params:
        assert isinstance(params, dict), 'additional parameters not in dictionary'
        postdata.update(params)

    try:
        r = session.post(url, data=postdata, headers={'Content-Type': 'application/x-www-form-urlencoded'}, verify=VERIFY_SSL)
    except Exception as e:
        if LOGGER:
            LOGGER.error('Make post ({}) HTTP request error: {}'.format(command, e))
        return None

    if r.status_code == requests.codes.ok:
        return True
    elif r.status_code == requests.codes.bad:
        try:
            r_error = r.json()['body']['home']['error']
        except KeyError:
            r_error = None
        if r_error == 'exists':
            if LOGGER:
                LOGGER.warning('Command {} failed. Object {} already exists'.format(command, obj))
            return True
    if LOGGER:
        LOGGER.error('Command {} on object {} failed. HTTP code: {}, msg: {}'.format(command, obj, r.status_code, r.text))
    return None 
Example 28
Project: mail.ru-uploader   Author: instefa   File: upload.py    (license) View Source Project 5 votes vote down vote up
def create_cloud_path(path, cloud_base=CLOUD_PATH, local_base=UPLOAD_PATH):
    """ converts os path to the format acceptable by the cloud
    example:
    cloud_base='/backups'
    local_base='./upload'
    path='./upload\\level1_1'
    result='/backups/level1_1'
    """
    normalized_path = path.replace('\\', '/')
    clean_path = normalized_path.replace(local_base, '', 1)
    return cloud_base + clean_path 
Example 29
Project: dockerscan   Author: cr0hn   File: docker_api.py    (license) View Source Project 5 votes vote down vote up
def resolve_text_var_from_metadata_vars(text: str,
                                        image_metadata: dict) -> str:
    if "$" not in text:
        return text

    # Extract var name
    REGEX_EXTRACT_ENV_VAR = re.compile(r'''(\$[{]*[\w]+[}]*)''')
    REGEX_EXTRACT_ENV_VAR_NAME = re.compile(r'''(\$[{]*)([\w]+)([}]*)''')

    var_name_mark = REGEX_EXTRACT_ENV_VAR.search(text).group(1)
    var_name = REGEX_EXTRACT_ENV_VAR_NAME.search(var_name_mark).group(2)

    # Get image metadata vars
    image_metadata_environ = set()
    image_metadata_environ.update(image_metadata["config"]["Env"])
    image_metadata_environ.update(image_metadata["container_config"]["Env"])

    # Search in environment vars
    for env in image_metadata_environ:
        env_name, env_value = env.split("=", maxsplit=1)

        if var_name in env_name:
            text = text.replace(var_name_mark,
                                env_value)
            break

    return text 
Example 30
Project: dockerscan   Author: cr0hn   File: docker_api.py    (license) View Source Project 5 votes vote down vote up
def get_entry_point_from_image_metadata(image_metadata: dict) -> str:
    # Build the launching command
    entrypoint = image_metadata["config"]["Entrypoint"]

    if type(entrypoint) is list:
        entrypoint = " ".join(entrypoint)

    # Locate the entry-point
    cmd = image_metadata["config"]["Cmd"]
    if type(cmd) is list:
        cmd = " ".join(cmd)

    if entrypoint and cmd:
        start_point = "{} {}".format(entrypoint, cmd)
    elif entrypoint and not cmd:
        start_point = entrypoint
    elif not entrypoint and cmd:
        start_point = cmd
    else:
        start_point = ""

    raw_start_point = start_point.strip()

    # replace environment vars, like ${HOME} in entry point
    return resolve_text_var_from_metadata_vars(raw_start_point,
                                               image_metadata) 
Example 31
Project: inter   Author: rsms   File: remote.py    (license) View Source Project 5 votes vote down vote up
def os9PathConvert(path):
	"""Attempt to convert a unix style path to a Mac OS9 style path.
	No support for relative paths!
	"""
	if path.find("/Volumes") == 0:
		# it's on the volumes list, some sort of external volume
		path = path[len("/Volumes")+1:]
	elif path[0] == "/":
		# a dir on the root volume
		path = path[1:]
	new = path.replace("/", ":")
	return new 
Example 32
Project: oa_qian   Author: sunqb   File: common.py    (license) View Source Project 5 votes vote down vote up
def to_java_compatible_path(path):
    if os.name == 'nt':
        path = path.replace('\\', '/')
    return path 
Example 33
Project: nimp   Author: dontnod   File: system.py    (license) View Source Project 5 votes vote down vote up
def sanitize_path(path):
    ''' Perfmorms slash replacement to work on both msys and windows '''
    if path is None:
        return None

    if nimp.sys.platform.is_windows() and not nimp.sys.platform.is_msys():
        if path[0:1] == '/' and path[1:2].isalpha() and path[2:3] == '/':
            return '%s:\\%s' % (path[1], path[3:].replace('/', '\\'))

    if os.sep is '\\':
        return path.replace('/', '\\')

    # elif os.sep is '/':
    return path.replace('\\', '/') 
Example 34
Project: nimp   Author: dontnod   File: system.py    (license) View Source Project 5 votes vote down vote up
def replace(self, pattern, repl, flags = 0):
        ''' Performs a re.sub on destination
        '''
        pattern = self._format(pattern)
        repl = self._format(repl)
        def _replace_mapper(src, dest):
            if dest is None:
                raise Exception("replace() called with dest = None")
            dest = re.sub(pattern, repl, dest, flags = flags)
            yield (src, dest)
        return self.append(_replace_mapper)

    #pylint: disable=invalid-name 
Example 35
Project: node-ninja   Author: CodeJockey   File: ninja.py    (license) View Source Project 5 votes vote down vote up
def QuoteShellArgument(arg, flavor):
  """Quote a string such that it will be interpreted as a single argument
  by the shell."""
  # Rather than attempting to enumerate the bad shell characters, just
  # whitelist common OK ones and quote anything else.
  if re.match(r'^[a-zA-Z0-9_=.\\/-]+$', arg):
    return arg  # No quoting necessary.
  if flavor == 'win':
    return gyp.msvs_emulation.QuoteForRspFile(arg)
  return "'" + arg.replace("'", "'" + '"\'"' + "'")  + "'" 
Example 36
Project: node-ninja   Author: CodeJockey   File: ninja.py    (license) View Source Project 5 votes vote down vote up
def Define(d, flavor):
  """Takes a preprocessor define and returns a -D parameter that's ninja- and
  shell-escaped."""
  if flavor == 'win':
    # cl.exe replaces literal # characters with = in preprocesor definitions for
    # some reason. Octal-encode to work around that.
    d = d.replace('#', '\\%03o' % ord('#'))
  return QuoteShellArgument(ninja_syntax.escape('-D' + d), flavor) 
Example 37
Project: node-ninja   Author: CodeJockey   File: ninja.py    (license) View Source Project 5 votes vote down vote up
def ExpandSpecial(self, path, product_dir=None):
    """Expand specials like $!PRODUCT_DIR in |path|.

    If |product_dir| is None, assumes the cwd is already the product
    dir.  Otherwise, |product_dir| is the relative path to the product
    dir.
    """

    PRODUCT_DIR = '$!PRODUCT_DIR'
    if PRODUCT_DIR in path:
      if product_dir:
        path = path.replace(PRODUCT_DIR, product_dir)
      else:
        path = path.replace(PRODUCT_DIR + '/', '')
        path = path.replace(PRODUCT_DIR + '\\', '')
        path = path.replace(PRODUCT_DIR, '.')

    INTERMEDIATE_DIR = '$!INTERMEDIATE_DIR'
    if INTERMEDIATE_DIR in path:
      int_dir = self.GypPathToUniqueOutput('gen')
      # GypPathToUniqueOutput generates a path relative to the product dir,
      # so insert product_dir in front if it is provided.
      path = path.replace(INTERMEDIATE_DIR,
                          os.path.join(product_dir or '', int_dir))

    CONFIGURATION_NAME = '$|CONFIGURATION_NAME'
    path = path.replace(CONFIGURATION_NAME, self.config_name)

    return path 
Example 38
Project: node-ninja   Author: CodeJockey   File: ninja.py    (license) View Source Project 5 votes vote down vote up
def ExpandRuleVariables(self, path, root, dirname, source, ext, name):
    if self.flavor == 'win':
      path = self.msvs_settings.ConvertVSMacros(
          path, config=self.config_name)
    path = path.replace(generator_default_variables['RULE_INPUT_ROOT'], root)
    path = path.replace(generator_default_variables['RULE_INPUT_DIRNAME'],
                        dirname)
    path = path.replace(generator_default_variables['RULE_INPUT_PATH'], source)
    path = path.replace(generator_default_variables['RULE_INPUT_EXT'], ext)
    path = path.replace(generator_default_variables['RULE_INPUT_NAME'], name)
    return path 
Example 39
Project: cppdep   Author: rakhimov   File: cppdep.py    (license) View Source Project 5 votes vote down vote up
def path_to_posix_sep(path):
    """Normalize the path separator to Posix (mostly for Windows)."""
    return path.replace('\\', '/') if os.name == 'nt' else path 
Example 40
Project: racovimge   Author: anqxyr   File: racovimge.py    (license) View Source Project 5 votes vote down vote up
def to_png(image):
    _, path = tempfile.mkstemp(suffix='.svg')
    with open(path, 'w') as file:
        file.write(image)
    outpath = path.replace('.svg', '.png')
    subprocess.call(['rsvg', path, outpath])
    with open(outpath, 'rb') as file:
        data = file.read()
    pathlib.Path(path).unlink()
    pathlib.Path(outpath).unlink()
    return data 
Example 41
Project: sslstrip-hsts-openwrt   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def latexEscape(text):
    text = escapingRE.sub(_escapeMatch, text)
    return text.replace('\n', ' ') 
Example 42
Project: sslstrip-hsts-openwrt   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def realpath(path):
    # Normalise path
    cwd = os.getcwd()
    path = os.path.normpath(os.path.join(cwd, path))
    if path.startswith(cwd + '/'):
        path = path[len(cwd)+1:]
    return path.replace('\\', '/') # windows slashes make LaTeX blow up 
Example 43
Project: sslstrip-hsts-openwrt   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def writeNodeData(self, node):
        buf = StringIO()
        getLatexText(node, buf.write, latexEscape)
        self.writer(buf.getvalue().replace('<', '$<$').replace('>', '$>$')) 
Example 44
Project: sslstrip-hsts-openwrt   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def visitNode_code(self, node):
        fout = StringIO()
        getLatexText(node, fout.write, latexEscape)
        data = lowerUpperRE.sub(r'\1\\linebreak[1]\2', fout.getvalue())
        data = data[:1] + data[1:].replace('.', '.\\linebreak[1]')
        self.writer('\\texttt{'+data+'}') 
Example 45
Project: sslstrip-hsts-openwrt   Author: adde88   File: latex.py    (license) View Source Project 5 votes vote down vote up
def convert_dia(self, src, target):
        # EVIL DISGUSTING HACK
        data = os.popen("gunzip -dc %s" % (src)).read()
        pre = '<dia:attribute name="scaling">\n          <dia:real val="1"/>'
        post = '<dia:attribute name="scaling">\n          <dia:real val="0.5"/>'
        open('%s_hacked.dia' % (src), 'wb').write(data.replace(pre, post))
        os.system('gzip %s_hacked.dia' % (src,))
        os.system('mv %s_hacked.dia.gz %s_hacked.dia' % (src,src))
        # Let's pretend we never saw that.

        # Silly dia needs an X server, even though it doesn't display anything.
        # If this is a problem for you, try using Xvfb.
        os.system("dia %s_hacked.dia -n -e %s" % (src, target)) 
Example 46
Project: tefla   Author: openAGI   File: autodoc.py    (license) View Source Project 5 votes vote down vote up
def classesinmodule(module):
    classes = []
    tree = parse_ast(os.path.abspath(module.__file__).replace('.pyc', '.py'))
    for c in top_level_classes(tree.body):
        classes.append(eval(module.__name__ + '.' + c.name))
    return classes 
Example 47
Project: tefla   Author: openAGI   File: autodoc.py    (license) View Source Project 5 votes vote down vote up
def functionsinmodule(module):
    fn = []
    tree = parse_ast(os.path.abspath(module.__file__).replace('.pyc', '.py'))
    for c in top_level_functions(tree.body):
        fn.append(eval(module.__name__ + '.' + c.name))
    return fn 
Example 48
Project: tefla   Author: openAGI   File: autodoc.py    (license) View Source Project 5 votes vote down vote up
def method_header_style(header, path):
    name = header.split('(')[0]
    bold_name = '<span style="color:black;"><a href=' + \
        path + ' target="_blank"><b>' + name + '</b></a></span>'
    # bold_name = '<span style="color:black"><b>' + name + '</b></span>'
    header = header.replace('self, ', '').replace('(', ' (').replace(' ', '  ')
    header = header.replace(name, bold_name)
    return '<span class="extra_h2">' + header + '</span>' 
Example 49
Project: sublime-bem-create   Author: bem-tools   File: ninja.py    (license) View Source Project 5 votes vote down vote up
def QuoteShellArgument(arg, flavor):
  """Quote a string such that it will be interpreted as a single argument
  by the shell."""
  # Rather than attempting to enumerate the bad shell characters, just
  # whitelist common OK ones and quote anything else.
  if re.match(r'^[a-zA-Z0-9_=.\\/-]+$', arg):
    return arg  # No quoting necessary.
  if flavor == 'win':
    return gyp.msvs_emulation.QuoteForRspFile(arg)
  return "'" + arg.replace("'", "'" + '"\'"' + "'")  + "'" 
Example 50
Project: sublime-bem-create   Author: bem-tools   File: ninja.py    (license) View Source Project 5 votes vote down vote up
def Define(d, flavor):
  """Takes a preprocessor define and returns a -D parameter that's ninja- and
  shell-escaped."""
  if flavor == 'win':
    # cl.exe replaces literal # characters with = in preprocesor definitions for
    # some reason. Octal-encode to work around that.
    d = d.replace('#', '\\%03o' % ord('#'))
  return QuoteShellArgument(ninja_syntax.escape('-D' + d), flavor)