568 Commits

Author SHA1 Message Date
pyup-bot
50f72da594 Update fonttools from 3.1.2 to 3.4.0 2016-12-21 16:44:04 +00:00
Cosimo Lupo
5526dc8e17 README.md: add PyPI badge
[skip ci]
2016-10-18 12:23:52 +01:00
Cosimo Lupo
51da9ba81e start new release cycle 2016-10-18 12:21:51 +01:00
Cosimo Lupo
4cb0bb1ff5 Merge pull request #47 from unified-font-object/deploy
Deploy to PyPI and Github Releases on tags
2016-10-18 12:07:47 +01:00
Cosimo Lupo
03114c3b47 setup.py: version 2.0.0 2016-10-18 12:04:40 +01:00
Cosimo Lupo
61b93e9a14 configure deployment to Github Releases and PyPI upon tags 2016-10-18 12:04:40 +01:00
Cosimo Lupo
c86c970219 .gitignore: add .eggs/ and .tox/ folders
.eggs/ is where setuptools downloads the setup and test requirements.

.tox/ is the folder containing Tox's cache and virtual environments

[skip ci]
2016-10-18 11:09:43 +01:00
Adrien Tétar
8a1075cfe4 Merge pull request #45 from anthrotype/testdata
move all test data inside the inlined ufoLib/test modules, and install them
2016-10-17 20:53:02 +02:00
Cosimo Lupo
116bc0b6d2 setup.cfg: include LICENSE.txt in wheel distribution packages 2016-10-17 19:41:15 +01:00
Cosimo Lupo
3b9ced71e0 move all test data inside the inlined ufoLib/test modules, and install them
Since the test suite is inlined, it makes sense to also have the test data installed alongside the test modules.
So all the content of the two top-level folders Data and TestData is now placed inside Lib/ufoLib/test/testadata.
The MANIFEST.in has been adjusted accordingly.
The `install_package_data` in setup.py ensures the package data specified in the manifest is installed with the package.

This way anyone who installs ufoLib (even the wheel from PyPI) can run the test suite with `pytest --pyargs ufoLib`.
2016-10-17 19:41:13 +01:00
Adrien Tétar
21b0f40ddc Merge pull request #44 from anthrotype/setup-fixes
setup.py: point package url to github repo; remove `import fontTools` check
2016-10-17 17:41:34 +02:00
Cosimo Lupo
6bfe462ba7 setup.py: point package url to github repo; remove import fontTools check
The `url` field in setup.py must be the home page for the package.
I moved the url to the UFO spec in the 'long_description', so it will show up in the PyPI project page.

Checking for `import fontTools` is redundant since dependency resolution is now automatic.
2016-10-17 16:18:57 +01:00
Cosimo Lupo
835872946d Merge pull request #43 from anthrotype/fonttools-3.1.2
specify fonttools 3.1.2 from PyPI in both setup.py and requirements.txt
2016-10-17 15:34:52 +01:00
Cosimo Lupo
e7aa1768c0 specify fonttools 3.1.2 from PyPI in both setup.py and requirements.txt 2016-10-17 15:19:59 +01:00
Erik van Blokland
58a3667b71 Merge pull request #42 from moyogo/xmlWriter
glifLib: try importing from fontTools.misc.xmlWriter first
2016-10-13 22:50:24 +02:00
Denis Moyogo Jacquerye
e6a1a658f0 glifLib: try importing from fontTools.misc.xmlWriter first
fixes #41
2016-10-13 21:42:51 +01:00
Adrien Tétar
ce2923fec0 Merge pull request #40 from anthrotype/tests
Set up CI to run pytest with tox; prepare auto-deployment
2016-09-11 18:49:03 +02:00
Cosimo Lupo
f320554077 ufoLib.__init__: use os.path instead of slash to fix doctest failing on Windows 2016-09-11 17:44:12 +01:00
Cosimo Lupo
8db42c8e37 appveyor.yml: run tests with pytest inside tox environment 2016-09-11 17:06:39 +01:00
Cosimo Lupo
6a0790a645 .travis.yml: add (commented-out) 'deploy') section for Github and PyPI
someone with push access must encrypt the Github api token and the PyPI password
2016-09-11 17:00:13 +01:00
Cosimo Lupo
b497dce200 .travis.yml: run tests with pytest inside tox environment; sudo is not required, use the Travis container-based infrastructure (faster) 2016-09-11 17:00:13 +01:00
Cosimo Lupo
908cff36ad add tox.ini configuration file
install package and run tests in isolated virtual environments
2016-09-11 17:00:13 +01:00
Cosimo Lupo
8747da76a4 filenames.py: fix doctests for py2.py3; import unicode_literals 2016-09-11 17:00:13 +01:00
Cosimo Lupo
ee38446982 glifLib.py: use +IGNORE_EXCEPTION_DETAIL to make doctest work on both Python2 and 3
http://python3porting.com/problems.html#handling-expected-exceptions
2016-09-11 17:00:13 +01:00
Cosimo Lupo
5fb9a13957 converters.py: fix up kerningValidator doctest 2016-09-11 17:00:13 +01:00
Cosimo Lupo
730a673c3a setup.cfg: set universal wheel; use zip as sdist format; add test=pytest alias; add default pytest config 2016-09-11 17:00:13 +01:00
Cosimo Lupo
a14810a036 add requirements.txt file 2016-09-11 17:00:13 +01:00
Cosimo Lupo
6f6a10dfa2 setup.py: add pytest runner; only use setuptools, drop distutils; set version 2.0.dev1; pep8 whitespace 2016-09-11 17:00:12 +01:00
Cosimo Lupo
78f7d02d6b add MANIFEST.in to include extra files in source distribution 2016-09-11 17:00:12 +01:00
Adrien Tétar
5a80482507 Merge pull request #39 from moyogo/unicode-userName
make sure we’re passing unicode string to userNameToFileName()
2016-07-11 08:36:54 -07:00
Denis Moyogo Jacquerye
4f83f4bbe1 tests: copy doctest as unittest in test_filenames 2016-07-11 13:49:59 +01:00
Denis Moyogo Jacquerye
bb21cb7c3a userNameToFileName expects userName to be unicode strings, let it raise
if not
2016-07-11 13:49:59 +01:00
Adrien Tétar
ec0fe57545 filenames: only allow unicode in py2
i.e. restore the old behavior
2016-07-08 21:19:16 -07:00
Tal Leming
d5514cc566 Merge pull request #37 from anthrotype/no-empty-layerinfo
glifLib: don't write empty 'lib' element in layerinfo.plist
2016-06-28 10:38:37 -04:00
Cosimo Lupo
f92dcf36c1 don't write layerinfo.plist if 'lib' element is empty 2016-06-28 13:52:23 +01:00
Adrien Tétar
bac9e9b75a Merge pull request #36 from anthrotype/element-text-none
glifLib: don't raise AttributeError if element.text attribute is None
2016-06-25 16:15:01 -07:00
Cosimo Lupo
f6689faf5b glifLib: don't raise AttributeError if element.text attribute is None
When an element tree is built from code, or it is parsed from a string that was not pretty-printed (i.e. without indentation), the 'text' attribute of an Element instance can be None. So we must ensure it's not None before calling `strip()` method.
2016-06-25 19:04:24 +01:00
Tal Leming
321ea7f766 Merge pull request #33 from anthrotype/isinstance-mapping
validators: check isinstance of collections.Mapping rather than dict
2016-06-24 09:47:59 -04:00
Adrien Tétar
f865b4e4a9 Merge pull request #32 from anthrotype/et-warning
plistFromETree: use len(element) to check if there are subelements
2016-06-05 11:13:24 -07:00
Cosimo Lupo
971a92bfe8 glifLib: use len() to check if ElementTree.Element is empty or contains children 2016-06-05 19:07:45 +01:00
Cosimo Lupo
fed7cef3cf validators: check isinstance of collections.Mapping rather than dict
The `collections` module provides a set of abstract base classes that can be used to
test whether a class provides a particular interface (e.g. whether it is a mapping).

It's better if ufoLib uses that with `isinstance` rather than requiring instances of
`dict`, or subclasses of `dict`.
2016-06-05 16:16:02 +01:00
Cosimo Lupo
fc4f810f61 plistFromETree: use len(element) to check if there are subelements to avoid FutureWarning 2016-06-05 16:03:24 +01:00
Adrien Tétar
133b4766a3 Merge pull request #31 from unified-font-object/fix-tests
Fix tests
2016-05-31 10:01:45 -07:00
Adrien Tétar
81e6c235af glifLib: fixup contour validation code 2016-05-31 09:59:02 -07:00
Denis Moyogo Jacquerye
04d96d7fe0 test: split tests in test_GLIF1 and test_GLIF2 2016-05-31 09:46:57 -07:00
Denis Moyogo Jacquerye
8de044427d Update .gitignore with .cache and .coverage 2016-05-31 09:46:57 -07:00
Denis Moyogo Jacquerye
b8f4145d76 glifLib: raise error when text is in <glyph> and in <outline> 2016-05-31 14:33:58 +01:00
Denis Moyogo Jacquerye
49c9640f73 test: split GLIF1 and GLIF2 tests 2016-05-31 11:25:12 +01:00
Denis Moyogo Jacquerye
16e2c0f308 use unicode_literals 2016-05-31 11:23:05 +01:00
Tal Leming
1c3526bcb8 Merge pull request #28 from unified-font-object/et
Use ElementTree in glifLib and drop embedded XML parsing infrastructure
2016-05-26 14:48:14 -04:00