Python re.MULTILINE Examples
The following are 30
code examples of re.MULTILINE().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
re
, or try the search function
.
Example #1
Source File: magic_check_fn.py From recipes-py with Apache License 2.0 | 10 votes |
def render_re(regex): """Renders a repr()-style value for a compiled regular expression.""" actual_flags = [] if regex.flags: flags = [ (re.IGNORECASE, 'IGNORECASE'), (re.LOCALE, 'LOCALE'), (re.UNICODE, 'UNICODE'), (re.MULTILINE, 'MULTILINE'), (re.DOTALL, 'DOTALL'), (re.VERBOSE, 'VERBOSE'), ] for val, name in flags: if regex.flags & val: actual_flags.append(name) if actual_flags: return 're.compile(%r, %s)' % (regex.pattern, '|'.join(actual_flags)) else: return 're.compile(%r)' % regex.pattern
Example #2
Source File: ssh.py From JetPack with Apache License 2.0 | 10 votes |
def ssh_edit_file(adress, user, passw, remotefile, regex, replace): client = paramiko.SSHClient() client.load_system_host_keys() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) trans = paramiko.Transport((adress, 22)) trans.connect(username=user, password=passw) sftp = paramiko.SFTPClient.from_transport(trans) f_in = sftp.file(remotefile, "r") c_in = f_in.read() pattern = re.compile(regex, re.MULTILINE | re.DOTALL) c_out = pattern.sub(replace, c_in) f_out = sftp.file(remotefile, "w") f_out.write(c_out) f_in.close() f_out.close() sftp.close() trans.close()
Example #3
Source File: generator.py From misp42splunk with GNU Lesser General Public License v3.0 | 6 votes |
def _make_boundary(cls, text=None): # Craft a random boundary. If text is given, ensure that the chosen # boundary doesn't appear in the text. token = random.randrange(sys.maxsize) boundary = ('=' * 15) + (_fmt % token) + '==' if text is None: return boundary b = boundary counter = 0 while True: cre = cls._compile_re('^--' + re.escape(b) + '(--)?$', re.MULTILINE) if not cre.search(text): break b = boundary + '.' + str(counter) counter += 1 return b
Example #4
Source File: generator.py From verge3d-blender-addon with GNU General Public License v3.0 | 6 votes |
def _make_boundary(cls, text=None): # Craft a random boundary. If text is given, ensure that the chosen # boundary doesn't appear in the text. token = random.randrange(sys.maxsize) boundary = ('=' * 15) + (_fmt % token) + '==' if text is None: return boundary b = boundary counter = 0 while True: cre = cls._compile_re('^--' + re.escape(b) + '(--)?$', re.MULTILINE) if not cre.search(text): break b = boundary + '.' + str(counter) counter += 1 return b
Example #5
Source File: coco_tools_test.py From vehicle_counting_tensorflow with MIT License | 6 votes |
def testExportGroundtruthToCOCO(self): image_ids = ['first', 'second'] groundtruth_boxes = [np.array([[100, 100, 200, 200]], np.float), np.array([[50, 50, 100, 100]], np.float)] groundtruth_classes = [np.array([1], np.int32), np.array([1], np.int32)] categories = [{'id': 0, 'name': 'person'}, {'id': 1, 'name': 'cat'}, {'id': 2, 'name': 'dog'}] output_path = os.path.join(tf.test.get_temp_dir(), 'groundtruth.json') result = coco_tools.ExportGroundtruthToCOCO( image_ids, groundtruth_boxes, groundtruth_classes, categories, output_path=output_path) self.assertDictEqual(result, self._groundtruth_dict) with tf.gfile.GFile(output_path, 'r') as f: written_result = f.read() # The json output should have floats written to 4 digits of precision. matcher = re.compile(r'"bbox":\s+\[\n\s+\d+.\d\d\d\d,', re.MULTILINE) self.assertTrue(matcher.findall(written_result)) written_result = json.loads(written_result) self.assertAlmostEqual(result, written_result)
Example #6
Source File: nemo_app.py From razzy-spinner with GNU General Public License v3.0 | 6 votes |
def substitute(self,*args): for color in colors: self.txt.tag_remove(color,"1.0","end") self.txt.tag_remove("emph"+color,"1.0","end") self.rex = re.compile("") # default value in case of misformed regexp self.rex = re.compile(self.fld.get("1.0","end")[:-1],re.MULTILINE) try: re.compile("(?P<emph>%s)" % self.fld.get(tk.SEL_FIRST, tk.SEL_LAST)) self.rexSel = re.compile("%s(?P<emph>%s)%s" % ( self.fld.get("1.0",tk.SEL_FIRST), self.fld.get(tk.SEL_FIRST,tk.SEL_LAST), self.fld.get(tk.SEL_LAST,"end")[:-1], ),re.MULTILINE) except: self.rexSel = self.rex self.rexSel.sub(self.addTags,self.txt.get("1.0","end"))
Example #7
Source File: coco_tools_test.py From vehicle_counting_tensorflow with MIT License | 6 votes |
def testExportDetectionsToCOCO(self): image_ids = ['first', 'second'] detections_boxes = [np.array([[100, 100, 200, 200]], np.float), np.array([[50, 50, 100, 100]], np.float)] detections_scores = [np.array([.8], np.float), np.array([.7], np.float)] detections_classes = [np.array([1], np.int32), np.array([1], np.int32)] categories = [{'id': 0, 'name': 'person'}, {'id': 1, 'name': 'cat'}, {'id': 2, 'name': 'dog'}] output_path = os.path.join(tf.test.get_temp_dir(), 'detections.json') result = coco_tools.ExportDetectionsToCOCO( image_ids, detections_boxes, detections_scores, detections_classes, categories, output_path=output_path) self.assertListEqual(result, self._detections_list) with tf.gfile.GFile(output_path, 'r') as f: written_result = f.read() # The json output should have floats written to 4 digits of precision. matcher = re.compile(r'"bbox":\s+\[\n\s+\d+.\d\d\d\d,', re.MULTILINE) self.assertTrue(matcher.findall(written_result)) written_result = json.loads(written_result) self.assertAlmostEqual(result, written_result)
Example #8
Source File: conanfile.py From conan-center-index with MIT License | 6 votes |
def package(self): self.copy("LICENSE", dst="licenses", src=self._source_subfolder) if self.settings.compiler == "Visual Studio": cmake = self._configure_cmake() cmake.install() else: autotools = self._configure_autotools() autotools.install() os.unlink(os.path.join(self.package_folder, "lib", "libapr-1.la")) tools.rmdir(os.path.join(self.package_folder, "build-1")) tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) apr_rules_mk = os.path.join(self.package_folder, "bin", "build-1", "apr_rules.mk") apr_rules_cnt = open(apr_rules_mk).read() for key in ("apr_builddir", "apr_builders", "top_builddir"): apr_rules_cnt, nb = re.subn("^{}=[^\n]*\n".format(key), "{}=$(_APR_BUILDDIR)\n".format(key), apr_rules_cnt, flags=re.MULTILINE) if nb == 0: raise ConanException("Could not find/replace {} in {}".format(key, apr_rules_mk)) open(apr_rules_mk, "w").write(apr_rules_cnt)
Example #9
Source File: cql.py From cassandra-migrate with MIT License | 6 votes |
def scanner(cls): if not getattr(cls, '_scanner', None): def h(tpe): return lambda sc, tk: cls.Token(tpe, tk) cls._scanner = re.Scanner([ (r"(--|//).*?$", h(cls.LINE_COMMENT)), (r"\/\*.+?\*\/", h(cls.BLOCK_COMMENT)), (r'"(?:[^"\\]|\\.)*"', h(cls.STRING)), (r"'(?:[^'\\]|\\.)*'", h(cls.STRING)), (r"\$\$(?:[^\$\\]|\\.)*\$\$", h(cls.STRING)), (r";", h(cls.SEMICOLON)), (r"\s+", h(cls.WHITESPACE)), (r".", h(cls.OTHER)) ], re.MULTILINE | re.DOTALL) return cls._scanner
Example #10
Source File: terminal.py From moler with BSD 3-Clause "New" or "Revised" License | 6 votes |
def data_received(self, data, recv_time): """ Await initial prompt of started shell command. After that - do real forward """ if not self._shell_operable.done(): decoded_data = self.moler_connection.decode(data) self.logger.debug("<|{}".format(data)) assert isinstance(decoded_data, str) self.read_buffer += decoded_data if re.search(self.prompt, self.read_buffer, re.MULTILINE): self._notify_on_connect() self._shell_operable.set_result(True) # makes Future done # TODO: should we remove initial prompt as it is inside raw.terminal? # TODO: that way (maybe) we won't see it in logs data_str = re.sub(self.prompt, '', self.read_buffer, re.MULTILINE) data = self.moler_connection.encode(data_str) else: return self.logger.debug("<|{}".format(data)) super(AsyncioTerminal, self).data_received(data)
Example #11
Source File: find_names_brute.py From gransk with Apache License 2.0 | 6 votes |
def setup(self, config): """ Load name model (word list) and compile regexes for stop characters. :param config: Configuration object. :type config: ``dict`` """ reference_model = os.path.join( config[helper.CODE_ROOT], config[helper.NAME_MODEL]) self.stopper = regex.compile(('(%s)' % '|'.join([ 'and', 'or', 'og', 'eller', r'\?', '&', '<', '>', '@', ':', ';', '/', r'\(', r'\)', 'i', 'of', 'from', 'to', r'\n', '!'])), regex.I | regex.MULTILINE) self.semistop = regex.compile( ('(%s)' % '|'.join([','])), regex.I | regex.MULTILINE) self.size_probability = [0.000, 0.000, 0.435, 0.489, 0.472, 0.004, 0.000] self.threshold = 0.25 self.candidates = defaultdict(int) with gzip.open(reference_model, 'rb') as inp: self.model = json.loads(inp.read().decode('utf-8')) self.tokenizer = regex.compile(r'\w{2,20}')
Example #12
Source File: interop.py From rift-python with Apache License 2.0 | 6 votes |
def check_juniper_rift_in_path(): if shutil.which("rift-environ") is None: fatal_error("Cannot find Juniper RIFT (rift-environ) in PATH") # run it and check version output = subprocess.check_output(["rift-environ", "--version"], universal_newlines=True) # print (output) regex = re.compile(r"^.hrift encoding schema: *(\d+)\.(\d+).*", re.IGNORECASE | re.MULTILINE) major = re.search(regex, output) if not major or not major.group(1): fatal_error("Cannot detect major version of Juniper RIFT") minor = major.group(2) major = major.group(1) expected_minor = protocol_minor_version expected_major = protocol_major_version if int(major) != expected_major or int(minor) != expected_minor: fatal_error("Wrong Major/Minor version of Juniper RIFT: (expected {}.{}, got {}.{})" .format(expected_major, expected_minor, major, minor))
Example #13
Source File: generator.py From misp42splunk with GNU Lesser General Public License v3.0 | 6 votes |
def _make_boundary(cls, text=None): # Craft a random boundary. If text is given, ensure that the chosen # boundary doesn't appear in the text. token = random.randrange(sys.maxsize) boundary = ('=' * 15) + (_fmt % token) + '==' if text is None: return boundary b = boundary counter = 0 while True: cre = cls._compile_re('^--' + re.escape(b) + '(--)?$', re.MULTILINE) if not cre.search(text): break b = boundary + '.' + str(counter) counter += 1 return b
Example #14
Source File: stagingapi.py From openSUSE-release-tools with GNU General Public License v2.0 | 6 votes |
def package_version(self, project, package): """ Return the version of a package, None in case the package does not exist The first non-commented Version: tag found is used. :param project: the project the package resides in :param package: the package to check :param product: if passed, the package to be checked is considered to be part of _product """ if not self.item_exists(project, package): return None version = None specfile = source_file_load(self.apiurl, project, package, '{}.spec'.format(package)) if specfile: try: version = re.findall('^Version:(.*)', specfile, re.MULTILINE)[0].strip() except IndexError: pass return version
Example #15
Source File: stagingapi.py From openSUSE-release-tools with GNU General Public License v2.0 | 6 votes |
def package_version(self, project, package): """ Return the version of a package, None in case the package does not exist The first non-commented Version: tag found is used. :param project: the project the package resides in :param package: the package to check :param product: if passed, the package to be checked is considered to be part of _product """ if not self.item_exists(project, package): return None version = None specfile = source_file_load(self.apiurl, project, package, '{}.spec'.format(package)) if specfile: try: version = re.findall('^Version:(.*)', specfile, re.MULTILINE)[0].strip() except IndexError: pass return version
Example #16
Source File: radparser.py From honeybee with GNU General Public License v3.0 | 6 votes |
def parse_from_string(full_string): """ separate a Radiance file string into multiple strings for each object. Args: rad_fileString: Radiance data as a single string. The string can be multiline. Returns: A list of strings. Each string represents a different Radiance Object """ raw_rad_objects = re.findall( r'^\s*([^0-9].*(\s*[\d.-]+.*)*)', full_string, re.MULTILINE) rad_objects = (' '.join(radiance_object[0].split()) for radiance_object in raw_rad_objects) filtered_objects = tuple(rad_object for rad_object in rad_objects if rad_object and rad_object[0] not in ['#', '!']) return filtered_objects
Example #17
Source File: regex.py From recruit with Apache License 2.0 | 6 votes |
def str_flags_to_int(str_flags): flags = 0 if "i" in str_flags: flags |= re.IGNORECASE if "l" in str_flags: flags |= re.LOCALE if "m" in str_flags: flags |= re.MULTILINE if "s" in str_flags: flags |= re.DOTALL if "u" in str_flags: flags |= re.UNICODE if "x" in str_flags: flags |= re.VERBOSE return flags
Example #18
Source File: regex.py From recruit with Apache License 2.0 | 6 votes |
def __init__(self, pattern, flags=0): """BSON regular expression data. This class is useful to store and retrieve regular expressions that are incompatible with Python's regular expression dialect. :Parameters: - `pattern`: string - `flags`: (optional) an integer bitmask, or a string of flag characters like "im" for IGNORECASE and MULTILINE """ if not isinstance(pattern, string_types): raise TypeError("pattern must be a string, not %s" % type(pattern)) self.pattern = pattern if isinstance(flags, string_types): self.flags = str_flags_to_int(flags) elif isinstance(flags, int): self.flags = flags else: raise TypeError( "flags must be a string or int, not %s" % type(flags))
Example #19
Source File: version.py From qutebrowser with GNU General Public License v3.0 | 6 votes |
def _pdfjs_version() -> str: """Get the pdf.js version. Return: A string with the version number. """ try: pdfjs_file, file_path = pdfjs.get_pdfjs_res_and_path('build/pdf.js') except pdfjs.PDFJSNotFound: return 'no' else: pdfjs_file = pdfjs_file.decode('utf-8') version_re = re.compile( r"^ *(PDFJS\.version|var pdfjsVersion) = '([^']+)';$", re.MULTILINE) match = version_re.search(pdfjs_file) if not match: pdfjs_version = 'unknown' else: pdfjs_version = match.group(2) if file_path is None: file_path = 'bundled' return '{} ({})'.format(pdfjs_version, file_path)
Example #20
Source File: update.py From Penny-Dreadful-Tools with GNU General Public License v3.0 | 6 votes |
def update_issue_body(issue: Issue, cards: List[str], see_also: Optional[str]) -> None: expected = '<!-- Images --> ' images = re.search(IMAGES_REGEX, issue.body, re.MULTILINE) for row in strings.grouper(4, cards): expected = expected + '<img src="https://pennydreadfulmagic.com/image/{0}/" height="300px">'.format('|'.join([urllib.parse.quote(c) for c in row if c is not None])) if see_also is not None: for row in strings.grouper(5, re.findall(REGEX_CARDREF, see_also)): expected = expected + '<img src="https://pennydreadfulmagic.com/image/{0}/" height="250px">'.format('|'.join([urllib.parse.quote(c) for c in row if c is not None])) if not images: print('Adding Images...') body = issue.body + '\n' + expected issue.edit(body=body) elif images.group(0) != expected: print('Updating images...') body = issue.body.replace(images.group(0), expected) issue.edit(body=body)
Example #21
Source File: update_cfg_file.py From multibootusb with GNU General Public License v2.0 | 6 votes |
def tweak(self, content): tweaked = self.legacy_tweak(content) if tweaked: return tweaked apply_persistence_to_all_lines = \ 0 < self.setup_params.persistence_size and \ not self.config_is_persistence_aware(content) matching_re = r'^(\s*(%s)\s*)(.*)$' % self.BOOT_PARAMS_STARTER kernel_parameter_line_pattern = re.compile( matching_re, flags = re.I | re.MULTILINE) out = self.tweak_first_match( content, kernel_parameter_line_pattern, apply_persistence_to_all_lines, self.param_operations(), self.param_operations_for_persistence()) return self.post_process(out)
Example #22
Source File: test_shoogle.py From shoogle with GNU General Public License v3.0 | 5 votes |
def test_main_with_exact_method_shows_request_with_minimal_params(self): e = main(["show", "urlshortener:v1.url.get"]) jsons = re.findall(r"^\{$.*?^\}$", e.out, re.MULTILINE | re.DOTALL) self.assertEqual(0, e.status) self.assertEqual(2, len(jsons)) request_json = load_json(jsons[0]) response_json = load_json(jsons[1]) self.assertEqual(["shortUrl"], list(request_json.keys())) self.assertEqual({"$ref": 'Url'}, response_json)
Example #23
Source File: prioritization.py From pgcli with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _compile_regex(keyword): # Surround the keyword with word boundaries and replace interior whitespace # with whitespace wildcards pattern = "\\b" + white_space_regex.sub(r"\\s+", keyword) + "\\b" return re.compile(pattern, re.MULTILINE | re.IGNORECASE)
Example #24
Source File: staging-installcheck.py From openSUSE-release-tools with GNU General Public License v2.0 | 5 votes |
def packages_to_ignore(self, project): comments = self.commentapi.get_comments(project_name=project) ignore_re = re.compile(r'^installcheck: ignore (?P<args>.*)$', re.MULTILINE) # the last wins, for now we don't care who said it args = [] for comment in comments.values(): match = ignore_re.search(comment['comment'].replace('\r', '')) if not match: continue args = match.group('args').strip() # allow space and comma to seperate args = args.replace(',', ' ').split(' ') return set(args)
Example #25
Source File: test_invocations.py From qutebrowser with GNU General Public License v3.0 | 5 votes |
def test_version(request): """Test invocation with --version argument.""" args = ['-m', 'qutebrowser', '--version'] + _base_args(request.config) # can't use quteproc_new here because it's confused by # early process termination proc = QProcess() proc.setProcessChannelMode(QProcess.SeparateChannels) proc.start(sys.executable, args) ok = proc.waitForStarted(2000) assert ok ok = proc.waitForFinished(10000) stdout = bytes(proc.readAllStandardOutput()).decode('utf-8') print(stdout) stderr = bytes(proc.readAllStandardError()).decode('utf-8') print(stderr) assert ok if qtutils.version_check('5.9'): # Segfaults on exit with Qt 5.7 assert proc.exitStatus() == QProcess.NormalExit match = re.search(r'^qutebrowser\s+v\d+(\.\d+)', stdout, re.MULTILINE) assert match is not None
Example #26
Source File: conanfile.py From conan-center-index with MIT License | 5 votes |
def _license_text(self): readme = tools.load(os.path.join(self._source_subfolder, self._subsystem_folder, "README.md")) match = re.search("Distribution Status\n[\\-]+(?:[\r\n])+((?:[0-9a-z .,;*]+[\r\n])+)", readme, re.IGNORECASE | re.MULTILINE) if not match: raise ConanException("Cannot extract distribution status") return match.group(1).strip() + "\n"
Example #27
Source File: conanfile.py From conan-center-index with MIT License | 5 votes |
def package(self): self.copy("COPYING*", src=self._source_subfolder, dst="licenses") with self._build_context(): autotools = self._configure_autotools() autotools.install() tools.rmdir(os.path.join(self._datarootdir, "info")) tools.rmdir(os.path.join(self._datarootdir, "man")) os.unlink(os.path.join(self.package_folder, "lib", "libltdl.la")) if self.options.shared: self._rm_binlib_files_containing(self._static_ext, self._shared_ext) else: self._rm_binlib_files_containing(self._shared_ext) import re files = ( os.path.join(self.package_folder, "bin", "libtool"), os.path.join(self.package_folder, "bin", "libtoolize"), ) replaces = { "GREP": "/usr/bin/env grep", "EGREP": "/usr/bin/env grep -E", "FGREP": "/usr/bin/env grep -F", "SED": "/usr/bin/env sed", } for file in files: contents = open(file).read() for key, repl in replaces.items(): contents, nb1 = re.subn("^{}=\"[^\"]*\"".format(key), "{}=\"{}\"".format(key, repl), contents, flags=re.MULTILINE) contents, nb2 = re.subn("^: \\$\\{{{}=\"[^$\"]*\"\\}}".format(key), ": ${{{}=\"{}\"}}".format(key, repl), contents, flags=re.MULTILINE) if nb1 + nb2 == 0: raise ConanException("Failed to find {} in {}".format(key, repl)) open(file, "w").write(contents) binpath = os.path.join(self.package_folder, "bin") if self.settings.os == "Windows": os.rename(os.path.join(binpath, "libtoolize"), os.path.join(binpath, "libtoolize.exe")) os.rename(os.path.join(binpath, "libtool"), os.path.join(binpath, "libtool.exe"))
Example #28
Source File: setup.py From asn1tools with MIT License | 5 votes |
def find_version(): return re.search(r"^__version__ = '(.*)'$", open('asn1tools/version.py', 'r').read(), re.MULTILINE).group(1)
Example #29
Source File: subs_info.py From catt with BSD 2-Clause "Simplified" License | 5 votes |
def _convert_srt_to_webvtt(self, content: str) -> str: content = re.sub(r"^(.*? \-\-\> .*?)$", lambda m: m.group(1).replace(",", "."), content, flags=re.MULTILINE) return "WEBVTT\n\n" + content
Example #30
Source File: update_cfg_file.py From multibootusb with GNU General Public License v2.0 | 5 votes |
def commentout_gfxboot(input_text): return re.sub(r'(ui\s+.*?gfxboot\.c32.*)$', r'# \1', input_text, flags=re.I | re.MULTILINE)