Merge pull request #113 from Ede123/pep8
Reformat code according to PEP 8
This commit is contained in:
commit
fb9ffb3dbd
9 changed files with 5040 additions and 4443 deletions
3
Makefile
3
Makefile
|
|
@ -23,3 +23,6 @@ test_error_on_flowtext:
|
|||
PYTHONPATH=. scour --error-on-flowtext unittests/flowtext-less.svg /dev/null
|
||||
# .. and this should bail out!
|
||||
PYTHONPATH=. scour --error-on-flowtext unittests/flowtext.svg /dev/null
|
||||
|
||||
flake8:
|
||||
flake8 --max-line-length=119
|
||||
|
|
@ -1,19 +1,19 @@
|
|||
###############################################################################
|
||||
##
|
||||
## Copyright (C) 2010 Jeff Schiller, 2010 Louis Simard, 2013-2015 Tavendo GmbH
|
||||
##
|
||||
## Licensed under the Apache License, Version 2.0 (the "License");
|
||||
## you may not use this file except in compliance with the License.
|
||||
## You may obtain a copy of the License at
|
||||
##
|
||||
## http://www.apache.org/licenses/LICENSE-2.0
|
||||
##
|
||||
## Unless required by applicable law or agreed to in writing, software
|
||||
## distributed under the License is distributed on an "AS IS" BASIS,
|
||||
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
## See the License for the specific language governing permissions and
|
||||
## limitations under the License.
|
||||
##
|
||||
#
|
||||
# Copyright (C) 2010 Jeff Schiller, 2010 Louis Simard, 2013-2015 Tavendo GmbH
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
__version__ = u'0.35'
|
||||
|
|
|
|||
371
scour/scour.py
371
scour/scour.py
File diff suppressed because it is too large
Load diff
|
|
@ -44,11 +44,15 @@ Out[5]: [('M', [(100.0, -200.0)])]
|
|||
from __future__ import absolute_import
|
||||
|
||||
import re
|
||||
from decimal import *
|
||||
from decimal import Decimal, getcontext
|
||||
from functools import partial
|
||||
|
||||
|
||||
# Sentinel.
|
||||
|
||||
|
||||
class _EOF(object):
|
||||
|
||||
def __repr__(self):
|
||||
return 'EOF'
|
||||
EOF = _EOF()
|
||||
|
|
@ -70,6 +74,7 @@ class Lexer(object):
|
|||
|
||||
http://www.gooli.org/blog/a-simple-lexer-in-python/
|
||||
"""
|
||||
|
||||
def __init__(self, lexicon):
|
||||
self.lexicon = lexicon
|
||||
parts = []
|
||||
|
|
@ -270,7 +275,6 @@ class SVGPathParser(object):
|
|||
token = next_val_fn()
|
||||
return x, token
|
||||
|
||||
|
||||
def rule_coordinate_pair(self, next_val_fn, token):
|
||||
# Inline these since this rule is so common.
|
||||
if token[0] not in self.number_tokens:
|
||||
|
|
|
|||
|
|
@ -59,13 +59,15 @@ Out[12]: [('translate', [30.0, -30.0]), ('rotate', [36.0])]
|
|||
from __future__ import absolute_import
|
||||
|
||||
import re
|
||||
from decimal import *
|
||||
from six.moves import range
|
||||
from decimal import Decimal
|
||||
from functools import partial
|
||||
|
||||
from six.moves import range
|
||||
|
||||
|
||||
# Sentinel.
|
||||
class _EOF(object):
|
||||
|
||||
def __repr__(self):
|
||||
return 'EOF'
|
||||
EOF = _EOF()
|
||||
|
|
@ -89,6 +91,7 @@ class Lexer(object):
|
|||
|
||||
http://www.gooli.org/blog/a-simple-lexer-in-python/
|
||||
"""
|
||||
|
||||
def __init__(self, lexicon):
|
||||
self.lexicon = lexicon
|
||||
parts = []
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
# | DASHMATCH | FUNCTION S* any* ')'
|
||||
# | '(' S* any* ')' | '[' S* any* ']' ] S*;
|
||||
|
||||
|
||||
def parseCssString(str):
|
||||
rules = []
|
||||
# first, split on } to get the rule chunks
|
||||
|
|
@ -55,17 +56,20 @@ def parseCssString(str):
|
|||
for chunk in chunks:
|
||||
# second, split on { to get the selector and the list of properties
|
||||
bits = chunk.split('{')
|
||||
if len(bits) != 2: continue
|
||||
if len(bits) != 2:
|
||||
continue
|
||||
rule = {}
|
||||
rule['selector'] = bits[0].strip()
|
||||
# third, split on ; to get the property declarations
|
||||
bites = bits[1].strip().split(';')
|
||||
if len(bites) < 1: continue
|
||||
if len(bites) < 1:
|
||||
continue
|
||||
props = {}
|
||||
for bite in bites:
|
||||
# fourth, split on : to get the property name and value
|
||||
nibbles = bite.strip().split(':')
|
||||
if len(nibbles) != 2: continue
|
||||
if len(nibbles) != 2:
|
||||
continue
|
||||
props[nibbles[0].strip()] = nibbles[1].strip()
|
||||
rule['properties'] = props
|
||||
rules.append(rule)
|
||||
|
|
|
|||
33
setup.py
33
setup.py
|
|
@ -1,24 +1,25 @@
|
|||
###############################################################################
|
||||
##
|
||||
## Copyright (C) 2013-2014 Tavendo GmbH
|
||||
##
|
||||
## Licensed under the Apache License, Version 2.0 (the "License");
|
||||
## you may not use this file except in compliance with the License.
|
||||
## You may obtain a copy of the License at
|
||||
##
|
||||
## http://www.apache.org/licenses/LICENSE-2.0
|
||||
##
|
||||
## Unless required by applicable law or agreed to in writing, software
|
||||
## distributed under the License is distributed on an "AS IS" BASIS,
|
||||
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
## See the License for the specific language governing permissions and
|
||||
## limitations under the License.
|
||||
##
|
||||
#
|
||||
# Copyright (C) 2013-2014 Tavendo GmbH
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
import os
|
||||
import re
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
from setuptools import find_packages, setup
|
||||
|
||||
LONGDESC = """
|
||||
Scour is a SVG optimizer/sanitizer that can be used to produce SVGs for Web deployment.
|
||||
|
|
|
|||
|
|
@ -27,19 +27,24 @@ from scour.yocto_css import parseCssString
|
|||
|
||||
|
||||
class Blank(unittest.TestCase):
|
||||
|
||||
def runTest(self):
|
||||
r = parseCssString('')
|
||||
self.assertEqual(len(r), 0, 'Blank string returned non-empty list')
|
||||
self.assertEqual(type(r), type([]), 'Blank string returned non list')
|
||||
|
||||
|
||||
class ElementSelector(unittest.TestCase):
|
||||
|
||||
def runTest(self):
|
||||
r = parseCssString('foo {}')
|
||||
self.assertEqual(len(r), 1, 'Element selector not returned')
|
||||
self.assertEqual(r[0]['selector'], 'foo', 'Selector for foo not returned')
|
||||
self.assertEqual(len(r[0]['properties']), 0, 'Property list for foo not empty')
|
||||
|
||||
|
||||
class ElementSelectorWithProperty(unittest.TestCase):
|
||||
|
||||
def runTest(self):
|
||||
r = parseCssString('foo { bar: baz}')
|
||||
self.assertEqual(len(r), 1, 'Element selector not returned')
|
||||
|
|
|
|||
1074
testscour.py
1074
testscour.py
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue