forked from dlang/cdcdb
		
	Добавлена версия библиотеки. Дата конвертируется в формат D
This commit is contained in:
		
							parent
							
								
									b29b328f91
								
							
						
					
					
						commit
						c8d21bc3ce
					
				
					 5 changed files with 28 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -141,4 +141,9 @@ public:
 | 
			
		|||
	{
 | 
			
		||||
		_db.deleteSnapshot(snapshot.id);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	string getVersion() {
 | 
			
		||||
		import cdcdb.version_;
 | 
			
		||||
		return cdcdbVersion;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@ import arsd.sqlite;
 | 
			
		|||
import std.file : exists;
 | 
			
		||||
import std.exception : enforce;
 | 
			
		||||
import std.conv : to;
 | 
			
		||||
import std.string : join;
 | 
			
		||||
import std.string : join, replace;
 | 
			
		||||
 | 
			
		||||
final class DBLite : Sqlite
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -57,6 +57,12 @@ private:
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	DateTime toDateTime(string sqliteDate)
 | 
			
		||||
	{
 | 
			
		||||
		string isoDate = sqliteDate.replace(" ", "T");
 | 
			
		||||
		return DateTime.fromISOExtString(isoDate);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	this(string database)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			@ -189,7 +195,7 @@ public:
 | 
			
		|||
			snapshot.filePath = row["file_path"].to!string;
 | 
			
		||||
			snapshot.fileSha256 = cast(ubyte[]) row["file_sha256"].dup;
 | 
			
		||||
			snapshot.label = row["label"].to!string;
 | 
			
		||||
			snapshot.createdUtc = row["created_utc"].to!string;
 | 
			
		||||
			snapshot.createdUtc = toDateTime(row["created_utc"].to!string);
 | 
			
		||||
			snapshot.sourceLength = row["source_length"].to!long;
 | 
			
		||||
			snapshot.algoMin = row["algo_min"].to!long;
 | 
			
		||||
			snapshot.algoNormal = row["algo_normal"].to!long;
 | 
			
		||||
| 
						 | 
				
			
			@ -224,7 +230,7 @@ public:
 | 
			
		|||
			snapshot.filePath = data["file_path"].to!string;
 | 
			
		||||
			snapshot.fileSha256 = cast(ubyte[]) data["file_sha256"].dup;
 | 
			
		||||
			snapshot.label = data["label"].to!string;
 | 
			
		||||
			snapshot.createdUtc = data["created_utc"].to!string;
 | 
			
		||||
			snapshot.createdUtc = toDateTime(data["created_utc"].to!string);
 | 
			
		||||
			snapshot.sourceLength = data["source_length"].to!long;
 | 
			
		||||
			snapshot.algoMin = data["algo_min"].to!long;
 | 
			
		||||
			snapshot.algoNormal = data["algo_normal"].to!long;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
module cdcdb.db.types;
 | 
			
		||||
 | 
			
		||||
import std.datetime : DateTime;
 | 
			
		||||
 | 
			
		||||
enum SnapshotStatus : int
 | 
			
		||||
{
 | 
			
		||||
	pending = 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -12,7 +14,7 @@ struct Snapshot
 | 
			
		|||
	string filePath;
 | 
			
		||||
	ubyte[32] fileSha256;
 | 
			
		||||
	string label;
 | 
			
		||||
	string createdUtc;
 | 
			
		||||
	DateTime createdUtc;
 | 
			
		||||
	long sourceLength;
 | 
			
		||||
	long algoMin;
 | 
			
		||||
	long algoNormal;
 | 
			
		||||
| 
						 | 
				
			
			@ -29,8 +31,8 @@ struct Blob
 | 
			
		|||
	long size;
 | 
			
		||||
	long zSize;
 | 
			
		||||
	ubyte[] content;
 | 
			
		||||
	string createdUtc;
 | 
			
		||||
	string lastSeenUtc;
 | 
			
		||||
	DateTime createdUtc;
 | 
			
		||||
	DateTime lastSeenUtc;
 | 
			
		||||
	long refcount;
 | 
			
		||||
	bool zstd;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										3
									
								
								source/cdcdb/version_.d
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								source/cdcdb/version_.d
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
module cdcdb.version_;
 | 
			
		||||
 | 
			
		||||
enum cdcdbVersion = "0.0.1";
 | 
			
		||||
| 
						 | 
				
			
			@ -7,5 +7,10 @@ import std.file : read;
 | 
			
		|||
void main()
 | 
			
		||||
{
 | 
			
		||||
	auto cas = new CAS("/tmp/base.db", true);
 | 
			
		||||
	cas.newSnapshot("/tmp/text", "Файл для тестирования", cast(ubyte[]) read("/tmp/text"));
 | 
			
		||||
	// cas.newSnapshot("/tmp/text", "Файл для тестирования", cast(ubyte[]) read("/tmp/text"));
 | 
			
		||||
	import std.stdio : writeln;
 | 
			
		||||
 | 
			
		||||
	writeln(cas.getSnapshotList("/tmp/text"));
 | 
			
		||||
 | 
			
		||||
	writeln(cas.getVersion);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue