# Fetch the filelist
filelist = await asyncio.to_thread(lambda a: a.filelist, archive)
- await self.db.executemany("""
- INSERT INTO
- package_files
- (
- pkg_id,
- path,
- size,
- mode,
- uname,
- gname,
- ctime,
- mtime,
- mimetype,
- digest_sha2_512,
- digest_sha2_256,
- digest_blake2b512,
- digest_blake2s256,
- digest_sha3_512,
- digest_sha3_256,
- capabilities
- )
- VALUES
- (
- %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s
- )""",
- ((
- self.id,
- file.path,
- file.size,
- file.mode,
- file.uname,
- file.gname,
- file.ctime,
- file.mtime,
- file.mimetype,
- file.digest("sha2-512"),
- file.digest("sha2-256"),
- file.digest("blake2b512"),
- file.digest("blake2s256"),
- file.digest("sha3-512"),
- file.digest("sha3-256"),
- file.capabilities,
- ) for file in filelist),
+ await self.db.insert_many(
+ File, ({
+ "package" : self,
+ "path" : file.path,
+ "size" : file.size,
+ "mode" : file.mode,
+ "uname" : file.uname,
+ "gname" : file.gname,
+ "ctime" : file.ctime,
+ "mtime" : file.mtime,
+ "mimetype" : file.mimetype,
+ "digest_sha2_512" : file.digest("sha2-512"),
+ "digest_sha2_256" : file.digest("sha2-256"),
+ "digest_blake2b512" : file.digest("blake2b512"),
+ "digest_blake2s256" : file.digest("blake2s256"),
+ "digest_sha3_512" : file.digest("sha3-512"),
+ "digest_sha3_256" : file.digest("sha3-256"),
+ "capabilities" : file.capabilities,
+ } for file in filelist),
)
@lazy_property
capabilities = Column(ARRAY(Text))
- # Digest SHA512
+ # Digest SHA-2 512
digest_sha2_512 = Column(LargeBinary)
- # Digest SHA256
+ # Digest SHA-2 256
digest_sha2_256 = Column(LargeBinary)
+ # Digest Blake2b512
+
+ digest_blake2b512 = Column(LargeBinary)
+
+ # Digest Blake2s256
+
+ digest_blake2s256 = Column(LargeBinary)
+
+ # Digest SHA-3 512
+
+ digest_sha3_512 = Column(LargeBinary)
+
+ # Digest SHA-3 256
+
+ digest_sha3_256 = Column(LargeBinary)
+
# Downloadable?
def is_downloadable(self):