aridity 80__tar.gz → 81__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aridity
3
- Version: 80
3
+ Version: 81
4
4
  Summary: DRY config and template system, easily extensible with Python
5
5
  Home-page: https://pypi.org/project/aridity/
6
6
  Author: foyono
@@ -146,12 +146,11 @@ class ConfigCtrl:
146
146
  def processtemplate(self, frompathorstream, topathorstream):
147
147
  'Evaluate expression from path/stream and write result to path/stream.'
148
148
  s = self.scope()
149
- text = _wrappathorstream(frompathorstream).processtemplate(s)
149
+ obj = _wrappathorstream(frompathorstream).processtemplate(s)
150
150
  if getattr(topathorstream, 'writable', lambda: False)():
151
- topathorstream.write(text)
151
+ topathorstream.write(obj.cat())
152
152
  else:
153
- with open(topathorstream, 'w') as g:
154
- g.write(text)
153
+ obj.writeout(topathorstream)
155
154
 
156
155
  def freectrl(self):
157
156
  return self._of(self.scope()) # XXX: Strict?
@@ -94,4 +94,4 @@ class Cat:
94
94
  name = '<'
95
95
  def __call__(self, prefix, suffix, scope):
96
96
  scope = scope.getorcreatesubscope(prefix.topath(scope))
97
- scope.resolved('stdout').flush(suffix.tophrase().resolve(scope).openable(scope).processtemplate(scope))
97
+ scope.resolved('stdout').flush(suffix.tophrase().resolve(scope).openable(scope).processtemplate(scope).cat())
@@ -191,7 +191,7 @@ class Functions:
191
191
 
192
192
  def processtemplate(scope, resolvable):
193
193
  'Evaluate the content of the given path as an expression.'
194
- return Text(resolvable.resolve(scope).openable(scope).processtemplate(scope))
194
+ return resolvable.resolve(scope).openable(scope).processtemplate(scope)
195
195
 
196
196
  def lower(scope, resolvable):
197
197
  return Text(resolvable.resolve(scope).cat().lower())
@@ -247,7 +247,7 @@ class Functions:
247
247
  return Text(''.join(chain(lines[:1], (indent + line for line in lines[1:]))))
248
248
 
249
249
  def hole(scope, resolvable):
250
- return Hole('', resolvable.resolve(scope).cat())
250
+ return Hole(Text(''), resolvable.resolve(scope).cat())
251
251
 
252
252
  def getimpl(scope, *resolvables, **kwargs):
253
253
  return scope.resolved(*(r.resolve(scope).cat() for r in resolvables), **kwargs)
@@ -69,7 +69,7 @@ class Concat(Resolvable):
69
69
  text = obj.cat()
70
70
  negtext = ''
71
71
  else:
72
- text = obj.prefix
72
+ text = obj.prefix.textvalue
73
73
  k = min(len(negbuffer), len(text))
74
74
  if k:
75
75
  assert negbuffer[:k] == text[:k]
@@ -77,9 +77,9 @@ class Concat(Resolvable):
77
77
  text = text[k:]
78
78
  buffer.append(text)
79
79
  self.monitor(text)
80
- negbuffer += negtext
81
- buffer = ''.join(buffer)
82
- return Hole(buffer, negbuffer) if negbuffer else Text(buffer)
80
+ negbuffer = negtext + negbuffer
81
+ buffer = Text(''.join(buffer))
82
+ return Hole(buffer, negbuffer) if negbuffer else buffer
83
83
 
84
84
  def unparse(self):
85
85
  return ''.join(part.unparse() for part in self.parts)
@@ -391,7 +391,7 @@ class Stream(Resolved):
391
391
  def processtemplate(self, scope):
392
392
  from .grammar import templateparser
393
393
  with scope.staticscope().indent.push() as monitor:
394
- return templateparser(monitor)(self.streamvalue.read()).resolve(scope).cat()
394
+ return templateparser(monitor)(self.streamvalue.read()).resolve(scope)
395
395
 
396
396
  class Entry(Struct):
397
397
 
@@ -1,7 +1,7 @@
1
1
  from . import directives
2
2
  from .directives import Precedence
3
3
  from .functions import getfunctions, getimpl, OpaqueKey
4
- from .model import CatNotSupportedException, Directive, Function, Resolvable, Scalar, star, Stream, Text
4
+ from .model import CatNotSupportedException, Directive, Function, Hole, Resolvable, Scalar, star, Stream, Text
5
5
  from .resolve import AnchorResolveContext
6
6
  from .search import Query
7
7
  from .stacks import IndentStack, SimpleStack, ThreadLocalResolvable
@@ -230,6 +230,7 @@ class StaticScope(AbstractScope):
230
230
  self['/',] = Slash()
231
231
  self['*',] = Star()
232
232
  self['None',] = Scalar(None)
233
+ self['eolhole',] = Hole(Text(''), '\n')
233
234
  for name in self.stacktypes:
234
235
  self[name,] = ThreadLocalResolvable(self.threadlocals, name)
235
236
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aridity
3
- Version: 80
3
+ Version: 81
4
4
  Summary: DRY config and template system, easily extensible with Python
5
5
  Home-page: https://pypi.org/project/aridity/
6
6
  Author: foyono
@@ -49,7 +49,7 @@ class SourceInfo:
49
49
  sourceinfo = SourceInfo('.')
50
50
  setup(
51
51
  name = 'aridity',
52
- version = '80',
52
+ version = '81',
53
53
  description = 'DRY config and template system, easily extensible with Python',
54
54
  url = 'https://pypi.org/project/aridity/',
55
55
  author = 'foyono',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes