• R/O
  • SSH
  • HTTPS

facebooktools: Commit


Commit MetaInfo

Revision8 (tree)
Time2020-04-17 06:29:34
Authorderekwildstar

Log Message

Tamanho horizontal do form de status aumentada
A resposta do compartilhamento está sendo validada, pois erros podem ser retornados
Updates do form de status incluídos
Remoção de comentários dentro do html a fim de facilitar o parser
Removido código que lidava com html comentado

Change Summary

Incremental Difference

--- trunk/src/UDAMOPrincipal.pas (revision 7)
+++ trunk/src/UDAMOPrincipal.pas (revision 8)
@@ -200,6 +200,10 @@
200200 begin
201201 var JO: TJSONObject := TJSONObject.ParseJSONValue(JS) as TJSONObject;
202202 try
203+ //{"__ar":1,"error":1607035,"errorSummary":"As publica\u00e7\u00f5es na linha do tempo est\u00e3o desativadas","errorDescription":"Free Components and Tools for Delphi n\u00e3o permite que fa\u00e7am publica\u00e7\u00f5es em sua Linha do Tempo. Tente enviar isso como uma mensagem.","payload":null,"bootloadable":{},"ixData":{},"bxData":{},"gkxData":{},"qexData":{},"lid":"6816417029547063823"}
204+ //{"__ar":1,"payload":{"share_now_succeeded":true,"object_id":4305985869427314,"is_wall_share":true,"message":{"__html":"Isso foi compartilhado com \u003Cstrong>\u003Ca href=\"\/groups\/delphibrazil\/\" data-hovercard=\"\/ajax\/hovercard\/group.php?id=972052606154007\" data-hovercard-prefer-more-content-show=\"1\">Delphi Brasil\u003C\/a>\u003C\/strong> com sucesso."},"audience":"group","entry_id":null,"privacy":"unknown"},"bootloadable":{},"ixData":{},"bxData":{},"gkxData":{},"qexData":{},"lid":"6816417750822952275"}
205+
206+ if Assigned(JO.GetValue<TJSONObject>('payload')) then
203207 Result := JO.GetValue<TJSONObject>('payload').GetValue<Boolean>('share_now_succeeded');
204208 finally
205209 JO.Free;
@@ -249,11 +253,13 @@
249253 begin
250254 if not FirstIteration then
251255 begin
252- TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines.Add('Waiting 10 seconds...');
256+ TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines.Add('Waiting 5 seconds...');
257+ TFORMBatchGroupSharingProgress(FB.InternalFormInstance).Update;
253258 Wait5Seconds;
254259 end;
255260
256261 TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines.Add('Sharing to group "' + GR.Name + '"...');
262+ TFORMBatchGroupSharingProgress(FB.InternalFormInstance).Update;
257263
258264 if ShareToGroup(GR.GroupInfo,PP) then
259265 TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines[Pred(TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines.Count)] := TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines[Pred(TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines.Count)] + 'Successful!'
@@ -260,6 +266,8 @@
260266 else
261267 TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines[Pred(TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines.Count)] := TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines[Pred(TFORMBatchGroupSharingProgress(FB.InternalFormInstance).MEMOLog.Lines.Count)] + 'Failed :(';
262268
269+ TFORMBatchGroupSharingProgress(FB.InternalFormInstance).Update;
270+
263271 FirstIteration := False;
264272 end;
265273 end;
@@ -890,18 +898,6 @@
890898 try
891899 Request(RO, RE);
892900
893-// with TStringList.Create do
894-// try
895-// Add(TStringStream(RE.Content).DataString);
896-// // Add('===============================================');
897-// // Add(HD.all.item(1).innerHtml);
898-//
899-// SaveToFile('D:\pagina.html')
900-// finally
901-// Free;
902-// end;
903-
904-
905901 if RegExMatch(TStringStream(RE.Content).DataString
906902 ,'\{"imp_id":".*","ef_page":.*,"uri":".*","entity_id":".*"\}'
907903 ,0
@@ -939,6 +935,13 @@
939935 end;
940936
941937 var HD: OleVariant := coHTMLDocument.Create as IHTMLDocument2;
938+ var Conteudo: String := TStringStream(RE.Content).DataString;
939+
940+ // Remove todos os blocos comentados a fim de termos acesso facilitado
941+ // a todos os elementos
942+ Conteudo := StringReplace(Conteudo,'<!--','',[rfReplaceAll]);
943+ Conteudo := StringReplace(Conteudo,'-->','',[rfReplaceAll]);
944+
942945 // Habilita o modo de design, o qual desabilita scripts e permite a
943946 // leitura do código da página exatamente como ele é. Scripts podem
944947 // modificar o DOM, logo, ao usar esta propriedade o texto parseado
@@ -950,11 +953,22 @@
950953 // navegadores mostram é exatamente aquilo que é retornado no parser,
951954 // sendo assim eu não precisei usar o designMode, porém o deixei aqui
952955 // comentado para lembrar de sua existência
953- HD.designMode := 'On';
956+ // HD.designMode := 'On';
954957 HD.clear; //Não sei se isso é realmente necessário
955- HD.write(TStringStream(RE.Content).DataString);
958+ HD.write(Conteudo);
956959 HD.close;
957960
961+// with TStringList.Create do
962+// try
963+// Add(Conteudo);
964+// Add('===============================================');
965+// Add(HD.all.item(1).innerHtml);
966+//
967+// SaveToFile('D:\pagina.html')
968+// finally
969+// Free;
970+// end;
971+
958972 var OneDiv: OleVariant;
959973 var OneDivAttributes: Olevariant;
960974
@@ -999,26 +1013,6 @@
9991013 // Apenas se detectamos o tipo da publicação é que podemos continuar
10001014 if APublicationParameters.PublicationType <> ptUnknown then
10011015 begin
1002- // Quando não somos donos da publicação os inputs jazoest e fb_dtsg
1003- // estão descomentados e podem ser acessados diretamente. Quando somos
1004- // donos da publicação eles estão em um bloco de html comentado
1005- if HD.getElementsByName('jazoest').length = 0 then
1006- begin
1007- var CodeCollection: OleVariant := HD.getElementsByTagName('code');
1008-
1009- for var i: Word := 0 to CodeCollection.length - 1 do
1010- begin
1011- if Pos('name="jazoest"',LowerCase(CodeCollection.item(i).innerHtml)) <> 0 then
1012- begin
1013- HD.Clear;
1014- HD.Write(CodeCollection.item(i).children[0].nodeValue);
1015- HD.close;
1016- Break;
1017- end;
1018- end;
1019- end;
1020-
1021-
10221016 APublicationParameters.jazoest := HD.getElementsByName('jazoest').item[0].value;
10231017 APublicationParameters.fb_dtsg := HD.getElementsByName('fb_dtsg').item[0].value;
10241018
Show on old repository browser