concrete.util.concrete_uuid module¶
Helper functions for generating Concrete UUID
objects
-
class
concrete.util.concrete_uuid.
AnalyticUUIDGeneratorFactory
(comm=None)¶ Bases:
object
Factory for a compressible UUID generator.
One factory should be created per Communication, and a new generator should be created from that factory for each analytic processing the communication. Usually each program represents a single analytic, so common usage is:
augf = AnalyticUUIDGeneratorFactory(comm) aug = augf.create() for <each annotation object created by this analytic>: annotation = next(aug) <add annotation to communication>
or if you’re creating a new Communication:
augf = AnalyticUUIDGeneratorFactory() aug = augf.create() comm = <create communication> comm.uuid = next(aug) for <each annotation object created by this analytic>: annotation = next(aug) <add annotation to communication>
where the annotation objects might be objects of type
Parse
,DependencyParse
,TokenTagging
,CommunicationTagging
, etc.-
create
()¶ Returns: A UUID generator for a new analytic.
-
-
class
concrete.util.concrete_uuid.
UUIDClustering
(comm)¶ Bases:
object
Representation of the UUID instance clusters in a concrete communication (each cluster represents the set of nested members of the communication that reference or are identified by a given UUID).
-
hashable_clusters
()¶ Hashable version of UUIDClustering.
Two UUIDClusterings c1 and c2 are equivalent (the two underlying Communications’ UUID structures are equivalent) if and only if:
c1.hashable_clusters() == c2.hashable_clusters()Returns: The set of unlabeled UUID clusters in a unique and hashable format.
-
-
class
concrete.util.concrete_uuid.
UUIDCompressor
(single_analytic=False)¶ Bases:
object
-
compress
(comm)¶ Parameters: comm (Communication) – Returns: Deep copy of comm with compressed UUIDs Return type: Communication
-
-
concrete.util.concrete_uuid.
bin_to_hex
(b, n=None)¶
-
concrete.util.concrete_uuid.
compress_uuids
(comm, verify=False, single_analytic=False)¶ Create a copy of
Communication
comm with UUIDs converted according to the compressible UUID schemeParameters: - comm (Communication) –
- verify (bool) – If True, use a heuristic to verify the UUID link structure is preserved in the new Communication
- single_analytic (bool) – If True, use a single analytic prefix for all UUIDs in comm.
Returns: A 2-tuple containing the new
Communication
(converted using the compressible UUID scheme) and theUUIDCompressor
object used to perform the conversion.Raises: ValueError
– If verify is True and comm has references added, raise because verification would cause an infinite loop.
-
concrete.util.concrete_uuid.
generate_UUID
()¶ Helper function for generating a Concrete UUID object
Returns: Concrete UUID object Return type: UUID
-
concrete.util.concrete_uuid.
generate_hex_unif
(n)¶
-
concrete.util.concrete_uuid.
generate_uuid_unif
()¶
-
concrete.util.concrete_uuid.
hex_to_bin
(h)¶
-
concrete.util.concrete_uuid.
join_uuid
(xs, ys, zs)¶
-
concrete.util.concrete_uuid.
split_uuid
(u)¶