#241 allow skipping generation of related poems for the ones which they already been generated

This commit is contained in:
Hamid Reza Mohammadi 2021-11-18 15:14:25 +03:30
parent 6ab2fe19b8
commit 0fe1adc290
5 changed files with 20 additions and 9 deletions

View File

@ -8,8 +8,8 @@
},
"AllowedHosts": "*",
"GoogleAnalyticsCode": "",
"APIRoot": "https://ganjgah.ir",
"GlobalAPIRoot": "https://ganjgah.ir",
"APIRoot": "http://localhost:3439",
"GlobalAPIRoot": "http://localhost:3439",
"SiteUrl": "http://localhost:33081",
"ReadOnlyMode": "False",
"MaintenanceMode": "False"

View File

@ -2172,16 +2172,17 @@ namespace RMuseum.Controllers
/// <summary>
/// start generating related poems info
/// </summary>
/// <param name="regenerate"></param>
/// <returns></returns>
[HttpPost]
[Route("generaterelatedpoemsinfo")]
[Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.ImportOperationShortName)]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(bool))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
public IActionResult StartGeneratingRelatedPoemsInfo()
public IActionResult StartGeneratingRelatedPoemsInfo(bool regenerate = true)
{
RServiceResult<bool> res =
_ganjoorService.StartGeneratingRelatedPoemsInfo();
_ganjoorService.StartGeneratingRelatedPoemsInfo(regenerate);
if (res.Result)
return Ok();
return BadRequest(res.ExceptionString);

View File

@ -1297,10 +1297,11 @@
</summary>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.GanjoorController.StartGeneratingRelatedPoemsInfo">
<member name="M:RMuseum.Controllers.GanjoorController.StartGeneratingRelatedPoemsInfo(System.Boolean)">
<summary>
start generating related poems info
</summary>
<param name="regenerate"></param>
<returns></returns>
</member>
<member name="P:RMuseum.Controllers.GanjoorController.ReadOnlyMode">
@ -9489,10 +9490,11 @@
</summary>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IGanjoorService.StartGeneratingRelatedPoemsInfo">
<member name="M:RMuseum.Services.IGanjoorService.StartGeneratingRelatedPoemsInfo(System.Boolean)">
<summary>
start generating related poems info
</summary>
<param name="regenerate"></param>
<returns></returns>
</member>
<member name="T:RMuseum.Services.IGanjoorTranslationService">
@ -10841,10 +10843,11 @@
<param name="poemHtml"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.StartGeneratingRelatedPoemsInfo">
<member name="M:RMuseum.Services.Implementation.GanjoorService.StartGeneratingRelatedPoemsInfo(System.Boolean)">
<summary>
start generating related poems info
</summary>
<param name="regenerate"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.GanjoorService.StartBuildingSitemap">

View File

@ -666,7 +666,8 @@ namespace RMuseum.Services
/// <summary>
/// start generating related poems info
/// </summary>
/// <param name="regenerate"></param>
/// <returns></returns>
RServiceResult<bool> StartGeneratingRelatedPoemsInfo();
RServiceResult<bool> StartGeneratingRelatedPoemsInfo(bool regenerate);
}
}

View File

@ -160,8 +160,9 @@ namespace RMuseum.Services.Implementation
/// <summary>
/// start generating related poems info
/// </summary>
/// <param name="regenerate"></param>
/// <returns></returns>
public RServiceResult<bool> StartGeneratingRelatedPoemsInfo()
public RServiceResult<bool> StartGeneratingRelatedPoemsInfo(bool regenerate)
{
try
{
@ -185,6 +186,11 @@ namespace RMuseum.Services.Implementation
int percent = 0;
for (int i = 0; i < poemIds.Count; i++)
{
if(!regenerate)
{
if (await context.GanjoorCachedRelatedPoems.AnyAsync(r => r.PoemId == poemIds[i]))
continue;
}
if (i * 100 / poemIds.Count > percent)
{
percent++;