libbmc/libbmc/repositories/hal.py

34 lines
741 B
Python

"""
This file contains all the HAL-related functions.
TODO:
* Add functions to homogeneize interface with arXiv one.
"""
import re
from libbmc import tools
REGEX = re.compile(r"(hal-\d{8}), version (\d+)")
def is_valid(hal_id):
"""
Check that a given HAL id is a valid one.
:param hal_id: The HAL id to be checked.
:returns: Boolean indicating whether the HAL id is valid or not.
"""
match = REGEX.match(hal_id)
return ((match is not None) and (match.group(0) == hal_id))
def extract_from_text(text):
"""
Extract HAL ids from a text.
:param text: The text to extract HAL ids from.
:returns: A list of matching HAL ids.
"""
return tools.remove_duplicates(REGEX.findall(text))