]> Devi Nivas Git - chevron.git/log
chevron.git
7 years agoUse more pythonic type checking
Guido Berhoerster [Tue, 28 Aug 2018 13:43:52 +0000 (15:43 +0200)]
Use more pythonic type checking

Use isinstance() and abstract base classes for checking available
functionality instead of strictly checking for base types. Among other
things, this allows for rendering any non-string sequences, iterators or
generators as lists (resolves #33) and for passing in any callable
instead of just plain functions.

7 years agoMerge branch 'master' of https://github.com/klorenz/chevron into klorenz-master
Noah Morrison [Fri, 24 Aug 2018 01:58:07 +0000 (21:58 -0400)]
Merge branch 'master' of https://github.com/klorenz/chevron into klorenz-master

7 years agoAllow for custom falsy data types
Noah Morrison [Fri, 24 Aug 2018 00:22:34 +0000 (20:22 -0400)]
Allow for custom falsy data types

Helps resolve Issue #35
This allows for a custom data type be outputed even when falsy

7 years agocache tokens for lambdas for speed
Kay-Uwe (Kiwi) Lorenz [Sun, 29 Jul 2018 06:02:57 +0000 (08:02 +0200)]
cache tokens for lambdas for speed

7 years agofix my flake issues
Kay-Uwe (Kiwi) Lorenz [Sat, 28 Jul 2018 07:15:50 +0000 (09:15 +0200)]
fix my flake issues

7 years agoupdate README
Kay-Uwe (Kiwi) Lorenz [Sat, 28 Jul 2018 07:01:17 +0000 (09:01 +0200)]
update README

7 years agoimplement #27 -- Lambdas
Kay-Uwe (Kiwi) Lorenz [Sat, 28 Jul 2018 06:36:06 +0000 (08:36 +0200)]
implement #27 -- Lambdas

7 years agoBump version (patch)
Noah Morrison [Sat, 21 Jul 2018 00:01:35 +0000 (20:01 -0400)]
Bump version (patch)

7 years agoRemove extra newline from cli
Noah Morrison [Fri, 20 Jul 2018 23:58:35 +0000 (19:58 -0400)]
Remove extra newline from cli

The render function already handles adding a newline

7 years agoPut the version string in one place
Noah Morrison [Sun, 17 Jun 2018 11:55:27 +0000 (07:55 -0400)]
Put the version string in one place

--version was getting outdated because I was forgetting to
update it.

7 years agoBump version (minor)
Noah Morrison [Sat, 16 Jun 2018 14:22:54 +0000 (10:22 -0400)]
Bump version (minor)

7 years agoMerge pull request #25 from cclauss/patch-1
Noah Morrison [Sat, 16 Jun 2018 14:14:34 +0000 (10:14 -0400)]
Merge pull request #25 from cclauss/patch-1

Python 2.6, 2.7, 3.2-3.6 in README.md, setup.py, and tox.ini

7 years agoMerge pull request #29 from lksnmnn/fix-utf8-encoding
Noah Morrison [Sat, 16 Jun 2018 14:08:20 +0000 (10:08 -0400)]
Merge pull request #29 from lksnmnn/fix-utf8-encoding

fix(renderer): allow unicode for no-escape variables

7 years agofix(renderer): allow unicode for no-escape variables
Lukas Neumann [Sun, 10 Jun 2018 12:12:12 +0000 (14:12 +0200)]
fix(renderer): allow unicode for no-escape variables

7 years agoChange is_file check to accept named pipes
Noah Morrison [Fri, 20 Apr 2018 17:49:12 +0000 (13:49 -0400)]
Change is_file check to accept named pipes

Fix issue #26

8 years agoAdd py36 to tox.ini
cclauss [Sun, 12 Nov 2017 19:47:03 +0000 (20:47 +0100)]
Add py36 to tox.ini

8 years agoAdd Python 3.5 and 3.6 to setup.py
cclauss [Sun, 12 Nov 2017 19:46:14 +0000 (20:46 +0100)]
Add Python 3.5 and 3.6 to setup.py

8 years agoPython 2.6, 2.7, 3.2-3.6
cclauss [Sun, 12 Nov 2017 19:45:09 +0000 (20:45 +0100)]
Python 2.6, 2.7, 3.2-3.6

Why not drop support for Python versions that are already EOL such as 2.6, 3.2, and 3.3?
* https://docs.python.org/devguide/index.html#branchstatus

8 years agoMerge pull request #23 from Ojisama/handle-closing-tag-only
Noah Morrison [Fri, 29 Sep 2017 09:43:46 +0000 (05:43 -0400)]
Merge pull request #23 from Ojisama/handle-closing-tag-only

Handling missing opening tag

8 years agoHandling missing opening tag
Ojisama [Mon, 7 Aug 2017 16:45:25 +0000 (17:45 +0100)]
Handling missing opening tag

8 years agoMerge branch 'samuelcolvin-fix-line-number'
Noah Morrison [Mon, 3 Jul 2017 16:47:09 +0000 (12:47 -0400)]
Merge branch 'samuelcolvin-fix-line-number'

8 years agoFix unittest in python 2.6
Noah Morrison [Mon, 3 Jul 2017 16:44:28 +0000 (12:44 -0400)]
Fix unittest in python 2.6

8 years agofix line numbers in errors
Samuel Colvin [Mon, 3 Jul 2017 14:53:12 +0000 (15:53 +0100)]
fix line numbers in errors

8 years agoBump version (patch)
Noah Morrison [Mon, 3 Jul 2017 11:44:06 +0000 (07:44 -0400)]
Bump version (patch)

8 years agoMerge pull request #21 from samuelcolvin/fix--unclosed-tag-error
Noah Morrison [Mon, 3 Jul 2017 11:43:15 +0000 (07:43 -0400)]
Merge pull request #21 from samuelcolvin/fix--unclosed-tag-error

correct error for badly closed tag

8 years agocorrect error for badly closed tag
Samuel Colvin [Sun, 2 Jul 2017 10:26:29 +0000 (11:26 +0100)]
correct error for badly closed tag

8 years agoBump version (minor)
Noah Morrison [Thu, 29 Jun 2017 20:53:50 +0000 (16:53 -0400)]
Bump version (minor)

8 years agoMerge pull request #20 from samuelcolvin/test-py3.6
Noah Morrison [Mon, 19 Jun 2017 21:24:54 +0000 (17:24 -0400)]
Merge pull request #20 from samuelcolvin/test-py3.6

add tests for python 3.6

8 years agoMerge pull request #19 from samuelcolvin/custom-exception
Noah Morrison [Mon, 19 Jun 2017 21:24:33 +0000 (17:24 -0400)]
Merge pull request #19 from samuelcolvin/custom-exception

add custom exception: ChevronError

Backwards compatible with old code that is checking for SyntaxError

8 years agoadd custom exception: ChevronError
Samuel Colvin [Mon, 19 Jun 2017 16:15:36 +0000 (17:15 +0100)]
add custom exception: ChevronError

8 years agoadd tests for python 3.6
Samuel Colvin [Mon, 19 Jun 2017 16:25:51 +0000 (17:25 +0100)]
add tests for python 3.6

8 years agoBump version (minor)
Noah Morrison [Thu, 15 Jun 2017 04:23:33 +0000 (00:23 -0400)]
Bump version (minor)

8 years agoFix version badge in README
Noah Morrison [Thu, 15 Jun 2017 04:21:27 +0000 (00:21 -0400)]
Fix version badge in README

8 years agoMerge branch 'update-travis'
Noah Morrison [Thu, 15 Jun 2017 04:20:41 +0000 (00:20 -0400)]
Merge branch 'update-travis'

8 years agoFix deploy conditions
Noah Morrison [Thu, 15 Jun 2017 04:08:43 +0000 (00:08 -0400)]
Fix deploy conditions

8 years agoBump version (patch)
Noah Morrison [Thu, 15 Jun 2017 03:55:52 +0000 (23:55 -0400)]
Bump version (patch)

8 years agoAdd deploy step to travis
Noah Morrison [Thu, 15 Jun 2017 03:51:47 +0000 (23:51 -0400)]
Add deploy step to travis

8 years agoMove coverage into tox and ignore coverage on py32
Noah Morrison [Thu, 15 Jun 2017 03:35:04 +0000 (23:35 -0400)]
Move coverage into tox and ignore coverage on py32

The coverage command fails on python3.2 for some reason.
Whatever, I'll just ignore it then.

8 years agoAdd coverage reports
Noah Morrison [Thu, 15 Jun 2017 03:01:30 +0000 (23:01 -0400)]
Add coverage reports

8 years agoFix flake8
Noah Morrison [Thu, 15 Jun 2017 02:53:33 +0000 (22:53 -0400)]
Fix flake8

8 years agoAdd flake8 to matrix
Noah Morrison [Thu, 15 Jun 2017 02:47:30 +0000 (22:47 -0400)]
Add flake8 to matrix

8 years agoUse tox-travis
Noah Morrison [Thu, 15 Jun 2017 02:38:12 +0000 (22:38 -0400)]
Use tox-travis

8 years agoFix inverted sections coercing the . variable
Noah Morrison [Wed, 14 Jun 2017 04:36:51 +0000 (00:36 -0400)]
Fix inverted sections coercing the . variable

Fixes #17

10 years agoOk, this time I think I actually fixed coverage
noah morrison [Sun, 10 May 2015 01:43:26 +0000 (21:43 -0400)]
Ok, this time I think I actually fixed coverage

The --source flag should tell coverage to only test chevron,
hopefully...

10 years agoOmit third party files from coverage
noah morrison [Fri, 8 May 2015 21:46:37 +0000 (17:46 -0400)]
Omit third party files from coverage

10 years agoRemove shebang from renderer and tokenizer
noah morrison [Fri, 8 May 2015 21:41:19 +0000 (17:41 -0400)]
Remove shebang from renderer and tokenizer

These files are not intended to be run by themselves anyways

10 years agoRemove comments above import statement
noah morrison [Sun, 3 May 2015 01:23:58 +0000 (21:23 -0400)]
Remove comments above import statement

I don't think there is a better way,
And this really isn't all that bad.

10 years agoIgnore import json path for coverage
noah morrison [Thu, 30 Apr 2015 02:31:29 +0000 (22:31 -0400)]
Ignore import json path for coverage

10 years agoUpdate README
noah morrison [Thu, 30 Apr 2015 02:25:05 +0000 (22:25 -0400)]
Update README

10 years agoUse pyyaml if it is available
noah morrison [Tue, 28 Apr 2015 01:54:42 +0000 (21:54 -0400)]
Use pyyaml if it is available

10 years agoBump version
noah morrison [Sat, 11 Apr 2015 02:48:25 +0000 (22:48 -0400)]
Bump version

10 years agoRaise coverage to 100%
noah morrison [Thu, 9 Apr 2015 21:26:03 +0000 (17:26 -0400)]
Raise coverage to 100%

10 years agoMove SyntaxError handling into cli_main
noah morrison [Thu, 9 Apr 2015 21:24:49 +0000 (17:24 -0400)]
Move SyntaxError handling into cli_main

Makes a little more sense there, as it's only meant to handle
exceptions if you're using the command line version.

10 years agoUse flake8 instead of pep8 in travis
noah morrison [Thu, 9 Apr 2015 20:50:08 +0000 (16:50 -0400)]
Use flake8 instead of pep8 in travis

10 years agoRun flake8 on the entire directory
noah morrison [Thu, 9 Apr 2015 20:48:43 +0000 (16:48 -0400)]
Run flake8 on the entire directory

Instead of just chevron/, this caused me to fail a travis build
accidentally, even though tox ran fine.

10 years agoFix pep8 (and travis)
noah morrison [Thu, 9 Apr 2015 20:21:33 +0000 (16:21 -0400)]
Fix pep8 (and travis)

10 years agoMake a comment more descriptive
noah morrison [Thu, 9 Apr 2015 03:28:03 +0000 (23:28 -0400)]
Make a comment more descriptive

10 years agoAdd support for complex types
noah morrison [Thu, 9 Apr 2015 03:24:47 +0000 (23:24 -0400)]
Add support for complex types

Before we were only allowing subscriptable structures,
now we can take something subscriptable or more complex
like a class with attributes.

This *shouldn't* cause problems with builtins, but I'm not 100% sure.
I've checked everything I could think of.

I might want to make this opt-in at somepoint, if some people are
having issues with it.

10 years agoAdd better error messages
noah morrison [Wed, 8 Apr 2015 02:49:10 +0000 (22:49 -0400)]
Add better error messages

Fixes issue #15 on github

The tokenizer now keeps track of the current line,
and raises a more descriptive error message when it fails.

If running from the CLI then exit with status 1.

11 years agoBump version.
noah morrison [Mon, 26 Jan 2015 22:01:10 +0000 (17:01 -0500)]
Bump version.

11 years agoAdd -v|--version option to chevron.
noah morrison [Mon, 26 Jan 2015 22:00:30 +0000 (17:00 -0500)]
Add -v|--version option to chevron.

11 years agoFix installation via pip.
noah morrison [Mon, 26 Jan 2015 21:36:24 +0000 (16:36 -0500)]
Fix installation via pip.

Jumped two versions due to failed attempts.

11 years agoBump version.
noah morrison [Mon, 26 Jan 2015 20:58:44 +0000 (15:58 -0500)]
Bump version.

11 years agoFix 0 and False values not rendering.
noah morrison [Mon, 26 Jan 2015 20:57:28 +0000 (15:57 -0500)]
Fix 0 and False values not rendering.

0 and False should still be rendered, even though they are falsy.

11 years agoRename test_null unittest to test_falsy.
noah morrison [Mon, 26 Jan 2015 20:53:28 +0000 (15:53 -0500)]
Rename test_null unittest to test_falsy.

Added all falsy values to test_null and renamed it test_falsy.

11 years agoBump version.
noah morrison [Mon, 26 Jan 2015 20:14:19 +0000 (15:14 -0500)]
Bump version.

11 years agoFix null values rendering as None.
noah morrison [Mon, 26 Jan 2015 20:13:08 +0000 (15:13 -0500)]
Fix null values rendering as None.

11 years agoAdd a unittest for null values.
noah morrison [Mon, 26 Jan 2015 20:12:05 +0000 (15:12 -0500)]
Add a unittest for null values.

They shouldn't render at all, but they currently render as 'None'.

11 years agoBump version.
noah morrison [Mon, 26 Jan 2015 01:07:41 +0000 (20:07 -0500)]
Bump version.

11 years agoFix setup.py again.
noah morrison [Sun, 25 Jan 2015 21:08:40 +0000 (16:08 -0500)]
Fix setup.py again.

It really... really likes to break on me.
(I think I have it fixed now)

Also the try catch is for tox, I don't know if there is a better
way then to do that.

11 years agoBump version
noah morrison [Sun, 25 Jan 2015 20:56:23 +0000 (15:56 -0500)]
Bump version

11 years agoMerge branch 'msabramo-gitignore'
noah morrison [Sun, 25 Jan 2015 20:52:47 +0000 (15:52 -0500)]
Merge branch 'msabramo-gitignore'

11 years agoMerge branch 'gitignore' of git://github.com/msabramo/chevron into msabramo-gitignore
noah morrison [Sun, 25 Jan 2015 20:52:37 +0000 (15:52 -0500)]
Merge branch 'gitignore' of git://github.com/msabramo/chevron into msabramo-gitignore

11 years agoStop using a leaked variable. (flake8)
noah morrison [Sun, 25 Jan 2015 20:43:08 +0000 (15:43 -0500)]
Stop using a leaked variable. (flake8)

scope is a variable that is defined lower in the for loop
and is leaked up in a future pass.

Also this code was slightly convoluted.
The goal is to stop rendering while the current scope is falsy.
Adding a new falsy scopes for every section inside
(So it doesn't start rendering on the next end tag).

I don't really know what I was thinking when I first coded this,
but all we have to do is add False instead of whatever in the
world I was doing before.

11 years agoRemove uneeded imports.
noah morrison [Sun, 25 Jan 2015 20:42:32 +0000 (15:42 -0500)]
Remove uneeded imports.

11 years agoChange version checking method. (flake8)
noah morrison [Sun, 25 Jan 2015 20:41:30 +0000 (15:41 -0500)]
Change version checking method. (flake8)

Importing sys is better then checking if unicode is defined.

11 years agoMerge branch 'msabramo-tox'
noah morrison [Sun, 25 Jan 2015 04:15:19 +0000 (23:15 -0500)]
Merge branch 'msabramo-tox'

11 years agoMerge branch 'tox' of git://github.com/msabramo/chevron into msabramo-tox
noah morrison [Sun, 25 Jan 2015 04:14:42 +0000 (23:14 -0500)]
Merge branch 'tox' of git://github.com/msabramo/chevron into msabramo-tox

11 years agoBump version
noah morrison [Sun, 25 Jan 2015 04:11:01 +0000 (23:11 -0500)]
Bump version

11 years agoMerge branch 'pypi-cleanup'
noah morrison [Sun, 25 Jan 2015 04:06:40 +0000 (23:06 -0500)]
Merge branch 'pypi-cleanup'

Closes #10 - add pypi badge to README.md
Closes #11 - convert README.md to rst for pypi
Closes #12 [PR] - Fixed with commit 108af743de73a4d7fc4358720b63d62f60227cd6

11 years agoMake setup.py more readable.
noah morrison [Sun, 25 Jan 2015 03:59:47 +0000 (22:59 -0500)]
Make setup.py more readable.

11 years agoConvert README.md to rst for pypi using pandoc.
noah morrison [Sun, 25 Jan 2015 03:58:07 +0000 (22:58 -0500)]
Convert README.md to rst for pypi using pandoc.

Closes #11

Thanks for the tips/help Marc :)

11 years agoAdd .gitignore
Marc Abramowitz [Sat, 24 Jan 2015 06:59:46 +0000 (22:59 -0800)]
Add .gitignore

11 years agoAdd tox.ini for tox (http://tox.testrun.org/)
Marc Abramowitz [Fri, 23 Jan 2015 15:44:42 +0000 (07:44 -0800)]
Add tox.ini for tox (http://tox.testrun.org/)

11 years agoAdd pypi version badge to README.
noah morrison [Fri, 23 Jan 2015 13:40:54 +0000 (08:40 -0500)]
Add pypi version badge to README.

closes #10

11 years agoFix url for pypi.
noah morrison [Fri, 23 Jan 2015 13:32:34 +0000 (08:32 -0500)]
Fix url for pypi.

Don't ask how this happened... I don't want to talk about it.

11 years agoAdd setup.py.
noah morrison [Fri, 23 Jan 2015 04:44:09 +0000 (23:44 -0500)]
Add setup.py.

Suggested/wanted by msabramo on github.

closes #6

11 years agoFix unicode inside of lists for python 2
noah morrison [Fri, 23 Jan 2015 02:59:10 +0000 (21:59 -0500)]
Fix unicode inside of lists for python 2

11 years agoAdd unittest for unicode inside of lists.
noah morrison [Fri, 23 Jan 2015 02:58:37 +0000 (21:58 -0500)]
Add unittest for unicode inside of lists.

This currently breaks python 2

11 years agoTokens needs to be a generator, not a list.
noah morrison [Fri, 16 Jan 2015 15:52:47 +0000 (10:52 -0500)]
Tokens needs to be a generator, not a list.

At first I thought they were pretty much the same thing.
But generators pick up from where they left off,
while lists don't.

This fixes the edge-case infinite loop
that was happening last commit.

from the python repl

Lists
>>> data = [1,2,3,4,5]
>>> for i in data:
...     print(i)
...     if i == 2:
...         for ii in data:
...             print('>', ii)
...             if ii == 4:
...                 break
...
1
2
> 1
> 2
> 3
> 4
3
4
5

Generators
>>> data = [1,2,3,4,5]
>>> gen = (d for d in data)
>>> for i in gen:
...     print(i)
...     if i == 2:
...         for ii in gen:
...             print('>', ii)
...             if ii == 4:
...                 break
...
1
2
> 3
> 4
5

11 years agoAdd a unittest for an edge-case recursion error.
noah morrison [Fri, 16 Jan 2015 15:51:20 +0000 (10:51 -0500)]
Add a unittest for an edge-case recursion error.

Currently this makes chevron run in an infinite loop
(Until recursion depth limit happens)

11 years agoFixed _get_key returning prematurely
noah morrison [Thu, 15 Jan 2015 20:02:41 +0000 (15:02 -0500)]
Fixed _get_key returning prematurely

Variables were clobbering other variables... badness was happening.

When given
```test.ms
{{# container }}
  {{ sibbling.child }}
{{/ container }}
```

```test.json
{
    "container": [1,2,3],
    "sibbling": {
        "child": "Just me."
    }
}
```

it was returning
```wrong.txt
  {'child': 'Just me.'}
  {'child': 'Just me.'}
  {'child': 'Just me.'}
```

when it should have returned
```right.txt
  Just me.
  Just me.
  Just me.
```

11 years agoSplit tokenizer up into helper functions
noah morrison [Tue, 23 Dec 2014 03:57:23 +0000 (22:57 -0500)]
Split tokenizer up into helper functions

In an attempt to make it more readable, and seperate parsing
logic from tokenizing logic.

11 years agoClean up the tokenizer a bit
noah morrison [Fri, 5 Dec 2014 04:07:09 +0000 (23:07 -0500)]
Clean up the tokenizer a bit

11 years agoMerge branch 'cleanup-renderer'
noah morrison [Sat, 29 Nov 2014 22:25:51 +0000 (17:25 -0500)]
Merge branch 'cleanup-renderer'

11 years agoFix python 2 encoding problem with the new docstr
noah morrison [Sat, 29 Nov 2014 22:24:06 +0000 (17:24 -0500)]
Fix python 2 encoding problem with the new docstr

Python 2 did not like my fancy new doc string with the unicode
filetree

11 years agoUpdate the render doc string
noah morrison [Sat, 29 Nov 2014 22:17:16 +0000 (17:17 -0500)]
Update the render doc string

11 years agoMove get_partial out of render
noah morrison [Sat, 29 Nov 2014 21:40:07 +0000 (16:40 -0500)]
Move get_partial out of render

Also "hid" it (Put an underscore in front of it)

11 years agoMove get_key out of render
noah morrison [Sat, 29 Nov 2014 21:37:51 +0000 (16:37 -0500)]
Move get_key out of render

Also "hid" it (Put an underscore in front of it)

11 years agoMove html_escape out of render
noah morrison [Sat, 29 Nov 2014 21:34:38 +0000 (16:34 -0500)]
Move html_escape out of render

Also "hid" it (Put an underscore in front of it)