Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add parsers #53

Open
wants to merge 32 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f821fcd
feat(tags.py): add missing 5.5.1 tags plus other program defined ones
cdhorn May 15, 2020
6024a7c
feat(tags.py): add missing 5.5.1 tags plus other program defined ones
cdhorn May 16, 2020
c3c8af2
feat: added setup for conventional commits
joeyaurel Mar 22, 2020
672e0da
feat(parser): added `to_gedcom_string` method
joeyaurel May 3, 2020
696de57
feat: add parsing for all records and substructures and handle ansel
cdhorn May 24, 2020
6bafc97
fix: fix typo in SubmitterElement test
cdhorn May 24, 2020
dc47435
style: make pep e302 compliant
cdhorn May 24, 2020
07228cf
build: add dependency on chardet to detect encoding
cdhorn May 24, 2020
9583900
test: add chardet to dependencies to install for testing
cdhorn May 24, 2020
dfb0c67
fix: remove FileElement and add all the new ones
cdhorn May 24, 2020
b29608e
fix: fix non-ansel checks and handle UTF-8-SIG
cdhorn May 24, 2020
c1848ae
fix: add back missing exceptions and methods
cdhorn May 24, 2020
e66566b
test: remove utf-8-sig encoding
cdhorn May 24, 2020
7b69be8
fix: fix tag name type, is associates not associations
cdhorn May 24, 2020
d7b80a5
build: add ansel to dependencies so always available and enabled
cdhorn May 24, 2020
f2a0d97
feat: add record types supported by reader
cdhorn May 24, 2020
7094ab5
feat: add typing hints to everything, update doc strings, update docs
cdhorn May 24, 2020
01741fe
docs: added doc string
cdhorn May 24, 2020
2ac3e03
docs: update docs again
cdhorn May 24, 2020
0ce24ac
docs: simplified copyright texts
joeyaurel Aug 8, 2020
b3b4aa4
feat(elements): renamed module `element` to `elements`
joeyaurel Aug 8, 2020
766235f
docs(records): documented values
joeyaurel Aug 8, 2020
41966bf
docs(records): documented values
joeyaurel Aug 8, 2020
6a73daa
feat(ci): optimized automatic docs generation
joeyaurel Aug 8, 2020
993a8b2
feat(subparsers): prefixed methods with `parse_`
joeyaurel Aug 8, 2020
2513522
feat(parser): renamed `RECORD_ELEMENTS` to `ELEMENT_TYPES`
joeyaurel Aug 8, 2020
49a6cc8
feat(elements): moved `ELEMENT_TYPES` to `elements` package level
joeyaurel Aug 8, 2020
b821bd7
feat(reader): renamed `ELEMENT_TYPES` to `RECORD_TYPES`
joeyaurel Aug 8, 2020
cb18f59
docs(errors): changed record to element
joeyaurel Aug 8, 2020
9fc7032
fix(parser): removed redundant parentheses
joeyaurel Aug 8, 2020
7768916
feat(errors): renamed `ERROR_TEMPLATE` and moved it
joeyaurel Aug 8, 2020
5c76b36
feat(pipenv): ran pipenv install -d
joeyaurel Aug 14, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:

- name: Generate docs
run: >-
rm -rf docs/ & \
pipenv run pdoc3 --html -o docs/ gedcom --force

- name: Publish docs
Expand Down
2 changes: 2 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ pdoc3 = "*"
bump2version = "*"

[packages]
chardet = "*"
ansel = "*"

[requires]
python_version = "3.5"
80 changes: 51 additions & 29 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 27 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ Local development is done using [pyenv](https://github.com/pyenv/pyenv) and
### Generating docs

1. Run `pipenv install -d` to install normal and dev dependencies
1. Run `rm -rf docs/` to be able to completely overwrite existing docs
1. Run `pipenv run pdoc3 --html -o docs/ gedcom --force` to generate docs into the `docs/` directory

> To develop docs run `pipenv run pdoc3 --http localhost:8000 gedcom`
Expand All @@ -68,6 +69,27 @@ the `repository-url` is `https://upload.pypi.org/legacy/`.
>
> `pipenv run twine upload --repository-url https://upload.pypi.org/legacy/ dist/*`

## Contribution

1. Clone the repo
1. Make your changes
1. (Write appropriate tests within `tests/`)
1. Commit using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)
1. [Open a pull request](https://github.com/madprime/python-gedcom/compare)
1. When checks for the PR fail consider making changes so that the checks pass

### Git: Conventional Commits

Git committing is done using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) with NPM.

Consider installing node packages with [NVM](https://github.com/nvm-sh/nvm) and start committing with `npm run commit`.
Git hooks installed via [Husky](https://github.com/typicode/husky) will do the rest.

How to install:

1. Use Node version `12.16.1` (or use [NVM](https://github.com/nvm-sh/nvm) and run `nvm use`)
1. Run `npm install` and then `npm run commit` to commit your changes

## Version bumping (releasing)

All of the following will generate a `<major>.<minor>.<patch>-dev<build>` version:
Expand Down Expand Up @@ -105,13 +127,17 @@ was licensed under the GPL v2 and then continued by
The project was taken over by [Nicklas Reincke](https://github.com/nickreynke) in 2018.
Together with [Damon Brodie](https://github.com/nomadyow) a lot of changes were made and the parser was optimized.

Ansel support, additional tags, and extensive record and substructure level parsing support were added by
[Christopher Horn](https://github.com/cdhorn) in 2020.

## License

Licensed under the [GNU General Public License v2](http://www.gnu.org/licenses/gpl-2.0.html)

**Python GEDCOM Parser**
<br>Copyright (C) 2020 Christopher Horn (cdhorn at embarqmail dot com)
<br>Copyright (C) 2018 Damon Brodie (damon.brodie at gmail.com)
<br>Copyright (C) 2018-2019 Nicklas Reincke (contact at reynke.com)
<br>Copyright (C) 2018 Nicklas Reincke (contact at reynke.com)
<br>Copyright (C) 2016 Andreas Oberritter
<br>Copyright (C) 2012 Madeleine Price Ball
<br>Copyright (C) 2005 Daniel Zappala (zappala at cs.byu.edu)
Expand Down
Loading