예제 #1
0
def get_all_properties():
    all_properties = list(get_css_dict().keys())

    # раширить парами "свойство значение" (например "position absolute")
    for prop_name in all_properties:
        property_values = css_flat_list(prop_name, get_css_dict())
        extends_sieve = (i for i in property_values if not i[1].startswith('<'))
        unit_sieve = (i for i in extends_sieve if not i[1].startswith('.'))
        all_properties.extend('{0} {1}'.format(prop_name, v[1]) for v in unit_sieve)
    return all_properties
예제 #2
0
PAIRS = dict([
    ('bg', 'background'), # Instead of border-style: groove;
    ('bd', 'border'), # Instead of background (Zen CSS support)
    ('pg', 'page'),
    ('lt', 'letter'),
    ('tf', 'transform'),
    ('tr', 'transition'),
])

# названия всех свойств
pro_v = list(ALL_PROPERTIES)

# раширить парами "свойство значение" (например "position absolute")
for prop_name in ALL_PROPERTIES:
    property_values = css_flat_list(prop_name)
    extends_sieve = (i for i in property_values if not i[1].startswith('<'))
    unit_sieve = (i for i in extends_sieve if not i[1].startswith('.'))
    pro_v.extend('{0} {1}'.format(prop_name, v[1]) for v in unit_sieve)

def score(a, b):
    """Оценочная функция"""
    s = 0

    # увеличивает вес свойству со значением (они разделены пробелом)
    if a and ' ' == a[-1]:
        s += 3.0

    # уменьшить, если буква находится не на грницах слова
    if '-' in a[1:-1] or '-' in b[1:-1]:
        s += -2.0