Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum

p.kaczmarek2 16 Mar 2023 09:31 561 3
  • Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum
    Witajcie, pokażę tutaj krótko mój skrypt/rozszerzenie przeglądarki dodający automatyczne kopie pisanych przez nas wiadomości/postów na naszym forum. Automatyczne kopie generują się w trakcie pisania i same pobierają się na dysk w formacie plików tekstowych. Pliki tekstowe zawierają nazwę pisanego postu/tematu, prefix [PRIV] dla PW, [FORUM] dla postów z forum, oraz datę/godzinę kiedy kopia została wykonana. Skrypt napisałem jakiś czas temu, jeszcze przed erą ChatGPT, chociaż teraz pewnie ten wirtualny asystent bardzo by to ułatwił.

    Motywacja projektu
    Nasze forum niby posiada nawet jakiś prosty mechanizm "Przywróć zapisaną wiadomość", ale nie zawsze działa on rzetelnie oraz nie radzi sobie chyba z kilkoma pisanymi jednocześnie postami. Dodatkowo czasem mi się zdarzało (chociaż to pewnie tylko ja mam taki problem), że pisałem coś i zapominałem wysłać na skutek roztargnienia i wyłączałem komputer, albo, co gorsza, komputer dostawał BSOD (oczywiście z mojej winy) i treści mogły ulec bezpowrotnej utracie. Ten skrypt sprawia, że taka sytuacja już wręcz nie może mieć miejsca - kopii jest pełno, a nawet jeśli się coś utraci, to tylko co najwyżej kilka zdań a nie cały post.

    Działanie skryptu
    Skrypt cały czas chodzi w tle. Po napisaniu pewnej ilości znaków (lub po tym jak minie troszkę czasu i treść postu się zmieni), skrypt sam generuje kopię i zapisuje ją dysk. W trakcie pisania tego postu wygenerował już dwie kopie:
    Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum
    Kopie pobierają się same, nie trzeba nic klikać, chociaż też mam dodany przycisk "Pobierz kopię zapasową", który robi dokładnie to samo:
    Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum
    Potem na dysku mamy takie coś:
    Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum
    Trochę tych plików tekstowych jest, ale:
    - tekst bardzo mało zajmuje miejsca
    - tekst się bardzo wygodnie kompresuje (można zrobić zip)
    - pliki mają prefixy [FORUM] bądź [PRIV] więc łatwo je oddzielić skryptem bądź ręcznie od innych pobranych
    - zawsze można je usunąć...

    Instalacja skryptu
    Skrypt chodzi u mnie na Chrome, opiera się na rozszerzeniu TamperMonkey:
    Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum
    Widać go tutaj:
    Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum
    Niestety nie mogę go wkleić na forum, bo silnik go blokuje, więc jego treść dałem na mojego Githuba:
    https://github.com/openshwprojects/ElektrodaF...BackupGenerator/blob/main/elektrodaBackups.js
    Możecie go po prostu przekleić do "nowego skryptu" tampermonkey i zapisać.
    Kilka uwag co do kodu:
    - poniżej możecie zmienić częstość zapisów (ale jeśli nie ma zmian, to on i tak nie pobierze duplikatu kopii zapasowej)
    
    var cfg_autoBackupInterval = 60 * 1000;
    

    - skrypt był testowany na "Starym wyglądzie" forum, tylko i wyłącznie
    - jeśli ktoś chce zrobić poprawkę to zapraszam na Githuba z Pull request, sam nawet nie starałem się by ten skrypt był napisany ładnie
    - skrypt też porywa przycisk Submit i jego pierwsze kliknięcie nie działa, tylko zapisuje kopię (można by to naprawić, sztucznie go wciskać z opóźnieniem po pobraniu finalnej kopii)
    - skrypt też dodaje wspomniany już przycisk "pobierz kopię zapasową", ale ja z tego nie korzystam, wszystko za mnie pobiera automat i mi to starcza
    - skrypt dodaje też datę/czas zapisu do nazwy pliku
    - skrypt dodaje też sufix, SND to kopia zrobiona w momencie wysyłania, a TMR to na skutek timera


    Podsumowanie
    Osobiście ze skryptu jestem bardzo zadowolony, już w dużym stopniu mi pomógł oraz nieco zwolnił mnie z obowiązku ciągłego pilnowania, czy wszystko zapisuję. Oczywiście i tak zapisuję normalnie pisane posty/tematy/szkice artykułów, ale świadomość, że coś mnie w tle "pilnuje" i "czuwa" nad kopiami mojej pracy naprawdę pozwala mi się skupić na konkretach i w pewnym stopniu mnie odciąża.
    Nie wiem, czy ten temat kogoś zainteresuje i czy się komuś przyda, ale jeśli tak, to dajcie znać. Skrypt działa zarówno na skrzynce PW, jak i na forum, więc skutecznie ratuje przede sytuacją w stylu napisałem post a zapomniałem wcisnąć wyślij. A "zaśmiecony" kopiami zapasowymi folder "Pobrane" można raz-dwa posprzątać, chociażby odpowiednim skryptem wsadowym...

    Cool? Ranking DIY
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
  • #2
    zgierzman
    Level 30  
    Działa też w Firefoxie z greasemonkey. Ale przy każdym zapisie wyskakuje okno żeby wskazać lokalizację pliku i potwierdzić "zapisz".
    To samo jest zresztą w Tampermonkey, który specjalnie na tą okoliczność zainstalowałem.
    W sumie jest to trochę uciążliwe, więc może dałoby się wybrać katalog raz na zawsze i nie potwierdzać co chwilę?
    Czy to tylko przypadłość FF, a Chromie działa automatycznie?

    Aha, trzeba odhaczykować "Pytaj, gdzie zapisać każdy plik" u ustawieniach FF :-)
    I wszystko jasne, to są ustawienia przeglądarki, a pliki zapisują się tam, gdzie wszystkie pobrane.
    Nie wiem dlaczego, ale wydawało mi się, że pliki zapisują się w katalogu stworzonym specjalnie na potrzeby skryptu.
    To w FF powoduje inne utrudnienie, bo wyskakuje okno powiadomienia o pobraniu pliku i też trzeba je zamknąć.

    Ciekawe, czy to też da się wyłączyć, bo nie widzę takiej opcji...
    Da się.
    about:config
    browser.download.alwaysOpenPanel = false
  • #3
    p.kaczmarek2
    Moderator Smart Home
    Wygląda na to, że masz rację. Po prostu nie byłem tego świadomy. U mnie teraz ustawione jest tak:
    Automatyczne kopie robocze postów/wiadomości na forum Elektrody - rozszerzenie forum
    Możliwe, że to wyłączałem kiedyś i potem o tym zapomniałem.

    Raczej nie da się na potrzeby skryptu wybrać/utworzyć katalogu, a może jednak - ktoś wie?

    Przyznam, że ten skrypt był mocno na kolanie pisany...

    Aby było w osobnym, trzeba by raczej napisać prosty program lub skrypt do tego. Może skrypt wsadowy bat? I do autostart w Windowsie podpiąć?

    @ElektrodaBot Napisz skrypt wsadowy Windows który przenosi pliki o nazwach rozpoczynających się od [FORUM] z C:\Users\Admin\Downloads do C:\Users\Admin\Elektroda
  • #4
    ElektrodaBot
    Artificial intelligence from OpenAI ChatGPT
    p.kaczmarek2 wrote:
    Napisz skrypt wsadowy Windows który przenosi pliki o nazwach rozpoczynających się od [FORUM] z C:\Users\Admin\Downloads do C:\Users\Admin\Elektroda
    Oto skrypt wsadowy Windows, który przenosi pliki o nazwach rozpoczynających się od [FORUM] z C:\Users\Admin\Downloads do C:\Users\Admin\Elektroda:

    Code: markdown
    Log in, to see the code


    W powyższym skrypcie, zmienna `source` określa ścieżkę do katalogu, z którego będą przenoszone pliki, a zmienna `destination` określa ścieżkę do katalogu, do którego pliki będą przenoszone. Zmienna `prefix` określa początek nazw plików, jakie mają być przenoszone. W tym przypadku ustawiono tę zmienną na wartość `[FORUM]`.

    Pętla `for` przeszukuje wszystkie pliki w katalogu `source`, których nazwy zaczynają się od `[FORUM]`, a następnie każdy z plików przenosi do katalogu `destination`. Podczas przenoszenia każdego pliku, wyświetlany jest komunikat na ekranie informujący o wykonaniu tej operacji.

    Po zakończeniu przenoszenia plików, skrypt wyświetla informację o zakończeniu działania.
    Jestem sztuczną inteligencją stworzoną przez OpenAI - ChatGPT. Moje odpowiedzi mogą zawierać błędy i proszę się nimi nie sugerować. Zawsze weryfikuj moje wiadomości i porady.
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot