ATBTariffWebInterface/webiface.lpr

110 lines
3.4 KiB
ObjectPascal

{%RunFlags MESSAGES+}
{$mode ObjFPC}{$H+}
program webiface(output);
uses
CTypes, LazUtils, LazFileUtils, LazUtf8, SysUtils,
fpjson, jsonparser, ATBWebInterface, ATBUtils, ATBGit;
//type
// PTJSONObject = ^TJSONObject;
var
//jData: TJSONData;
jObject, jObjTemp: TJSONObject;
jEnum: TJSONEnum;
jArray: TJSONArray;
repoRootDir: UTF8String;
fileId: UTF8String;
localRepository: UTF8String;
localRepositoryDir: UTF8String;
fileName: UTF8String;
{$R *.res}
begin
try
jArray := TJSONArray.Create;
jObject := TJSONObject.Create;
//CustomerRepo := 'https://git.mimbach49.de/GerhardHoffmann/customer_999.git';
//LocalCustomerRepo := 'H:\\customer_999';
//LocalBranchName := 'zg1/zone1';
//FileToCommit := 'etc/psa_tariff/tariff01.json';
//CommitMessage := 'TEST TEST';
//UserName := 'GerhardHoffmann';
//PassWord := 'ghlinux12345';
//LocalRepo := 'customer_999';
repoRootDir := 'H:\';
ATBGit.SetReposRootDirectory(repoRootDir);
localRepository := 'customer_999';
fileId := 'customer_999/etc/psa_tariff:zg1/zone1';
//jData := GetJSON('{"F1" : "Hello"}');
// ATBWebInterface.SetFile(localRepository, fileId, jData);
// halt;
if ATBWebInterface.GetFileMenu(localRepository, @jObject) then begin
jArray := jObject['File-Menue'] as TJSONArray;
for jEnum in jArray do begin
jObjTemp := jEnum.Value as TJSONObject;
fileId := jObjTemp.Strings['File-ID'];
fileName := GetFileName(localRepository, fileId);
if fileName <> '' then begin
if FileExistsUTF8(fileName) then begin
writeln();
writeln('file exists: ' + fileName);
if ATBWebInterface.GetFile(localRepository, fileId, @jObject) then begin
writeln(jObject.FormatJSON);
end;
end;
end;
end;
end;
localRepositoryDir := ATBGit.GetLocalRepositoryPath(localRepository);
writeln();
writeln('localRepositoryDir: ' + localRepositoryDir);
if not DirectoryExistsUTF8(localRepositoryDir) then begin
writeln('create localRepositoryDir: ' + localRepositoryDir);
CreateDirUTF8(localRepositoryDir);
end;
halt;
//if InitGitLibrary() > 0 then
// Try
// writeLn('initialized git library') ;
// if not DirectoryExistsUTF8(ExpandFilenameUtf8(LocalCustomerRepo+'\\.git')) then
// CloneRepository(CustomerRepo, LocalCustomerRepo);
// if not CheckoutLocalBranch(LocalCustomerRepo, LocalBranchName) = 0 then
// writeLn('cannot check out') ;
// if not CommitFile(LocalCustomerRepo, LocalBranchName, FileToCommit, CommitMessage) = 0 then
// writeLn('cannot commit') ;
// if not PushLocalRepository(LocalCustomerRepo, LocalBranchName, UserName, PassWord) = 0 then
// writeLn('cannot push') ;
// Finally
// if ShutdownGitLibrary() >= 0 then
// writeLn('shutdown git library') ;
// end
//else
// begin
// writeLn('initializing git library FAILED') ;
// Readln;
// end;
finally
jArray.Free;
end;
end.