public Spider(string baseUrl, ISpiderRepository spiderRepository) { _spiderRepository = spiderRepository; SpiderData = new SpiderData(baseUrl); DomainName = baseUrl.GetDomainName(); CreateDocument(); }
void Start() { animator = GetComponent <Animator>(); movePlug = new CorePlugMoveByDict(this, gameObject); movePlug.moveSpeed = _moveSpeed; _roleData = data = new SpiderData(); playerCtl = player.GetComponent <PlayerControl>(); }
private void CreateDocument() { var rootObject = Task.Run(() => _spiderRepository.GetAllAsync()).Result; var dados = rootObject.rows.FirstOrDefault(d => d.doc.BaseUrl.GetDomainName() == SpiderData.BaseUrl.GetDomainName()); if (dados == null) { Task.Run(async() => await _spiderRepository.CreateAsync(SpiderData)).Wait(); } else { SpiderData.Update(dados.doc); } }
public async Task CreateAsync(SpiderData item) { using (var client = CloudantClient()) { var response = await client.PostAsync(DbName, CreateJsonContent(item)); if (response.IsSuccessStatusCode) { var responseJson = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <UpdateResult>(responseJson); item.id = result.id; item.rev = result.rev; } } }
private void initializeConfiguration(string spiderName, InitializationParams init) { var dir = init?.SpiderDirectory; if (dir == null) { dir = new FileInfo(System.Reflection.Assembly.GetEntryAssembly().Location).Directory; } var spiderPath = new DirectoryInfo(Path.Combine(dir.FullName, spiderName)); if (!spiderPath.Exists) { spiderPath.Create(); } Configuration.SpiderDirectory = spiderPath; var dataPath = new DirectoryInfo(Path.Combine(spiderPath.FullName, "Data")); if (!dataPath.Exists) { dataPath.Create(); } Configuration.SpiderDataDirectory = dataPath; spiderWorkDataPath = Path.Combine(dataPath.FullName, "privateData.xml"); lock (lockDataPathObject) { SpiderWorkData = File.Exists(spiderWorkDataPath) ? SpiderWorkData = XmlSerializerHelper.DeserializeFromFile <SpiderData>(spiderWorkDataPath) : SpiderWorkData = new SpiderData(); } if (Configuration.Logger == null) { Configuration.Spider_LogFile = Path.Combine(spiderPath.FullName, $"{ spiderName }.log"); Configuration.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.Console() .WriteTo.File(Configuration.Spider_LogFile, rollingInterval: RollingInterval.Day) .CreateLogger(); } }
public async Task UpdateAsync(SpiderData item) { using (var client = CloudantClient()) { var response = await client.PutAsync($"{DbName}/{HttpUtility.UrlEncode(item.id)}?rev={HttpUtility.UrlEncode(item.rev)}", CreateJsonContent(item)); if (response.IsSuccessStatusCode) { var responseJson = await response.Content.ReadAsStringAsync(); var responseReturn = JsonConvert.DeserializeObject <UpdateResult>(responseJson); lock (item) { item.id = responseReturn.id; item.rev = responseReturn.rev; } } } }
private void initializeConfiguration(string spiderName, InitializationParams init) { var dir = init?.SpiderDirectory; if (dir == null) { dir = new FileInfo(System.Reflection.Assembly.GetEntryAssembly().Location).Directory; } var spiderPath = new DirectoryInfo(Path.Combine(dir.FullName, spiderName)); if (!spiderPath.Exists) { spiderPath.Create(); } Configuration.SpiderDirectory = spiderPath; var dataPath = new DirectoryInfo(Path.Combine(spiderPath.FullName, "Data")); if (!dataPath.Exists) { dataPath.Create(); } Configuration.SpiderDataDirectory = dataPath; spiderWorkDataPath = Path.Combine(dataPath.FullName, "privateData.xml"); lock (lockDataPathObject) { SpiderWorkData = File.Exists(spiderWorkDataPath) ? SpiderWorkData = XmlSerializerHelper.DeserializeFromFile <SpiderData>(spiderWorkDataPath) : SpiderWorkData = new SpiderData(); } if (Configuration.Logger == null) { initializeWithSerilog(spiderName, spiderPath); } }
public override void Start() { this.gameobject.GetComponent <Animator>().SetBool("run", true); data = this.gameobject.GetComponent <SpiderData>(); }
public override void Start() { data = this.gameobject.GetComponent <SpiderData>(); }
private static JsonContent CreateJsonContent(SpiderData item) { lock (item) return(new JsonContent(item)); }