Files
speckle-server/packages/fileimport-service/ifc-dotnet/ConsoleProgress.cs
T
Adam Hathcock 1ac972f02a feat(file imports): adds an experimental IFC parser (#3525)
* first pass of CLI ifc converter

* some updates

* closer

* yarn works

* can execute ifc?

* change exe

* remove extra venv needs

* invocation works

* fixed dockerfile and url

* refactor(fileimport): temp results path should not be hardcoded in parsers

* update importer to output stuff

* fix up argments

* remove dead code

* adjust dockerfile to have tini and workdir better

* fix node to a specific version

* Add shell statement and pin yarn version

* add ifc converter c# to ignore

* merge fix

* move ifc c#

* fix the api usage

* update the importer to new SDK

* Adds a feature flag `FF_FILEIMPORT_IFC_DOTNET_ENABLED` for enabling .Net IFC parser

* move directories

* put back ifc js

* use FF and reversions

* needs token too

* fix docker?

* one last copy fix

* adjust prettier ignore

* change to enable

* fix helm chart nesting

* Amend healthcheck node binary path

* Add FF_FILEIMPORT_IFC_DOTNET_ENABLED to feature flag parser

* Allow app to write to /.config directory

* fix: volume name has to be lower case

* update ifc importing

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: root <root@Clynelish>
2024-11-29 06:34:08 +01:00

34 lines
807 B
C#

using Speckle.Sdk.Transports;
namespace Speckle.Converter;
public class ConsoleProgress : IProgress<ProgressArgs>
{
private readonly TimeSpan DEBOUNCE = TimeSpan.FromSeconds(1);
private DateTime _lastTime = DateTime.UtcNow;
private long _totalBytes;
public void Report(ProgressArgs value)
{
if (value.ProgressEvent == ProgressEvent.DownloadBytes)
{
Interlocked.Add(ref _totalBytes, value.Count);
}
var now = DateTime.UtcNow;
if (now - _lastTime >= DEBOUNCE)
{
if (value.ProgressEvent == ProgressEvent.DownloadBytes)
{
Console.WriteLine(value.ProgressEvent + " t " + _totalBytes);
}
else
{
Console.WriteLine(value.ProgressEvent + " c " + value.Count + " t " + value.Total);
}
_lastTime = now;
}
}
}