[PATCH v6 3/8] parser: Add series parsing

Andrew Donnellan andrew.donnellan at au1.ibm.com
Fri Oct 28 12:15:41 AEDT 2016


On 27/10/16 20:29, Stephen Finucane wrote:
>>> +def parse_version(subject, subject_prefixes):
>>> +    """Extract patch version.
>>> +
>>> +    Args:
>>> +        subject: Main body of subject line
>>> +        subject_prefixes: List of subject prefixes to extract version
>>> +          from
>>> +
>>> +    Returns:
>>> +        version if found, else 1
>>> +    """
>>> +    regex = re.compile('^[vV](\d+)$')
>>> +    m = _parse_prefixes(subject_prefixes, regex)
>>> +    if m:
>>> +        return int(m.group(1))
>>> +
>>> +    m = re.search(r'\([vV](\d+)\)', subject)
>>
>> A commit like "Input: drv260x - add TI drv260x haptics driver" will be
>> picked up as v260 by this... I am struggling to think of a scenario
>> where this actually results in a SeriesRevision being created, but
>> nevertheless.
>>
>> I assume based on the relevant test the idea is to pick up subjects
>> like "Terribly formatted patch (v3)"?
>
> I don't think so. Look at the (escaped) brackets in the second regex:
> this should only match '(vNN)' or '(VNN)'. The first regex doesn't look
> for brackets, but it only searches the prefixes so we're good. I'll add
> a test just to sanity check this.
>

Argh, of course - I neglected the fact that it's a raw string so doesn't 
need double escaping. It's been a while since I've touched regexes in 
Python...

-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com  IBM Australia Limited



More information about the Patchwork mailing list