summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--portato/eix/parser.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/portato/eix/parser.py b/portato/eix/parser.py
index e89bffe..676cdd5 100644
--- a/portato/eix/parser.py
+++ b/portato/eix/parser.py
@@ -63,7 +63,7 @@ def vector (file, get_type, skip = False):
for i in range(nelems):
get_type(file, skip = True)
else:
- return (get_type(file) for i in range(nelems))
+ return [get_type(file) for i in range(nelems)]
def string (file, skip = False):
nelems = number(file)
@@ -84,3 +84,25 @@ def overlay (file, skip = False):
string(file, skip = True) # label
else:
return (string(file), string(file))
+
+class LazyElement (object):
+ def __init__ (self, get_type, file):
+ self.file = file
+ self.get_type = get_type
+ self._value = None
+
+ self.pos = file.tell()
+ get_type(skip=True) # skip it for the moment
+
+ @property
+ def value (self):
+ if self._value is None:
+ old_pos = self.file.tell()
+ self.file.seek(self.pos)
+ self._value = self.get_type(skip = False)
+ self.file.seek(old_pos)
+
+ return self._value
+
+ def __call__ (self):
+ return self.value
René 'Necoro' Neumann3-5/+5 2021-02-21Fix signatureRené 'Necoro' Neumann2-2/+3 2021-02-21#25 Normalize folder namesRené 'Necoro' Neumann2-2/+14 2021-02-21Strip whitespace from folder namesRené 'Necoro' Neumann2-0/+13 2021-02-21Fix order for `Cmp.Diff`René 'Necoro' Neumann1-3/+3 2021-02-21#25 Check for folder again while lockingRené 'Necoro' Neumann1-0/+8 2021-02-21Strip `srcset` attributeRené 'Necoro' Neumann2-1/+8 2021-02-21Slight restructuringRené 'Necoro' Neumann4-14/+21 2021-02-21Clarify codeRené 'Necoro' Neumann1-5/+5 2021-02-21Update changelogRené 'Necoro' Neumann1-0/+2 2021-02-21#39 Ignore mails marked as deleted when looking for existing mails, as to not...René 'Necoro' Neumann1-0/+1 2021-02-21go mod tidyRené 'Necoro' Neumann1-8/+0 2021-02-18Import 'embed' packageRené 'Necoro' Neumann1-0/+1 2021-02-16Fix goreleaser setup regarding dockerRené 'Necoro' Neumann1-3/+1 2021-02-16Prepare v0.6.0v0.6.0René 'Necoro' Neumann3-3/+8 2021-02-16Fix CRLF endingRené 'Necoro' Neumann1-57/+57 2021-02-16Increment go-version to 1.16René 'Necoro' Neumann3-5/+5 2021-02-16Use go-embed for templates instead of inline strings.René 'Necoro' Neumann6-74/+79 2021-02-16Issue #46: Fix semantics of `n` resultRené 'Necoro' Neumann2-9/+15 2021-02-16Issue #46: Move and rename writer; add commentsRené 'Necoro' Neumann3-12/+21 2021-02-15Issue #46: Improvements; add testsRené 'Necoro' Neumann2-1/+48 2021-02-15Bump github.com/google/uuid from 1.1.4 to 1.2.0dependabot[bot]2-3/+3 2021-02-15Issue #46: Make the resulting email body not to include single \r or \n. This...René 'Necoro' Neumann2-2/+66 2021-01-20Bump github.com/PuerkitoBio/goquery from 1.6.0 to 1.6.1dependabot[bot]2-3/+3 2021-01-09Bump github.com/google/uuid from 1.1.2 to 1.1.4dependabot[bot]2-3/+3 2021-01-09Bump github.com/emersion/go-message from 0.14.0 to 0.14.1 (#42)dependabot[bot]2-3/+3 2020-11-28Bump github.com/emersion/go-message from 0.13.0 to 0.14.0 (#38)dependabot[bot]2-3/+9 2020-11-28Bump github.com/google/go-cmp from 0.5.2 to 0.5.4 (#37)dependabot[bot]2-3/+3 2020-11-23Fix release.ymlv0.5.2René 'Necoro' Neumann1-3/+10 2020-11-23Prepare v0.5.2René 'Necoro' Neumann3-3/+8 2020-11-20Bump github.com/gabriel-vasile/mimetype from 1.1.1 to 1.1.2dependabot[bot]2-3/+3 2020-11-04Clean dependabot.ymlRené 'Necoro' Neumann1-4/+0