summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/thandy/formats.py6
-rw-r--r--specs/thandy-spec.txt14
2 files changed, 6 insertions, 14 deletions
diff --git a/lib/thandy/formats.py b/lib/thandy/formats.py
index b8bdf5b..f59995a 100644
--- a/lib/thandy/formats.py
+++ b/lib/thandy/formats.py
@@ -438,7 +438,7 @@ BUNDLE_SCHEMA = S.Obj(
version=VERSION_SCHEMA,
path=RELPATH_SCHEMA,
hash=HASH_SCHEMA,
- length=S.Opt(LENGTH_SCHEMA),
+ length=LENGTH_SCHEMA,
order=S.Struct([S.Int(), S.Int(), S.Int()]),
optional=S.Opt(S.Bool()),
gloss=S.DictOf(S.AnyStr(), S.AnyStr()),
@@ -771,9 +771,7 @@ def makeBundleObj(config_fname, getPackage, getPackageLength):
raise thandy.FormatException("No such package as %s"%p['name'])
p['hash'] = formatHash(getDigest(pkginfo))
- length = getPackageLength(p['name'])
- if length != None:
- p['length'] = length
+ p['length'] = getPackageLength(p['name'])
if p['path'] == None:
p['path'] = pkginfo['location']
if p['version'] == None:
diff --git a/specs/thandy-spec.txt b/specs/thandy-spec.txt
index 4fc17e8..586e3fa 100644
--- a/specs/thandy-spec.txt
+++ b/specs/thandy-spec.txt
@@ -398,7 +398,7 @@
"m" : [ TIME, HASH, LENGTH ],
"k" : [ TIME, HASH, LENGTH ],
"b" : { NAME :
- [ [ Version, Path, Time, Hash, (Length) ] ] }
+ [ [ Version, Path, Time, Hash, Length ] ] }
}
TIME is when the timestamp was signed. MIRRORLISTHASH is the digest
@@ -407,8 +407,6 @@
bundles and their locations and hashes. The "name" of a bundle (in
this context) is the directory component of the bundle's path.
- The LENGTH field may be absent on very old timestamp files.
-
3.6. File formats: bundle files
{ "_type" : "Bundle",
@@ -423,7 +421,7 @@
"version" : VERSION,
"path" : PATH,
"hash" : HASH,
- ("length" : LENGTH),
+ "length" : LENGTH,
"order" : [ INST, UPDATE, REMOVE ],
("optional : BOOL, )
"gloss" : { LANG : TEXT },
@@ -447,9 +445,6 @@
language. The UI should display the must appropriate language to the
user.
- The LENGTH field is required on all new bundles, but may be absent
- on very old ones.
-
3.7. File formats: package files
{ "_type" : "Package",
@@ -458,14 +453,13 @@
"version" : VERSION,
"format" : FMT,
"ts" : TIME,
- "files" : [ [ PATH, HASH, INFO, (LENGTH) ], ... ],
+ "files" : [ [ PATH, HASH, INFO, LENGTH ], ... ],
"shortdesc" : { LANG : DESC, ... },
"longdesc" : { LANG : DESC, ... },
}
Most elements are self-explanatory. To interpret the 'INFO' entry
- for each installable file, see section 6. The LENGTH field is
- required on all new packages, but may be absent on very old ones.
+ for each installable file, see section 6.
No two package files in the same repository should have the same
name and version. If a package needs to be changed, the version