Page 3 of 6

Re: MiloDB: Finding Old Teases

Posted: Tue Jan 31, 2023 6:39 pm
by FrozenWolf
Image MiloDB 1.10, 2023-01-31
  • Fixed: 'summary' command no longer shows author URLs when author is unknown
  • Fixed: 'stats' command now shows '[unknown author]' instead of '[, @0]'
  • Added: 'query' command can now query against tease-of-the-month field
    > query totm is winner
    > query totm is nominee
    > query totm is either
  • Changed: List alignment no longer shifts to the right when 99 < hits < 1000
  • Database: Updated to 2022-10-31

Re: MiloDB: Finding Old Teases

Posted: Tue Feb 28, 2023 10:21 pm
by FrozenWolf
Image MiloDB 1.11, 2023-02-28
  • Database: Updated to 2022-11-30
Not a very exciting release!

I'm working on a significant refactor of the code of both the client and admin tools to make it more maintainable so that someone else can take over if/when the need arises. It should still behave the same as before from the user's perspective. When the admin tool looks a bit less like spaghetti, and the database packs are cleaned up, I'll escrow it to the admin staff.

Re: MiloDB: Finding Old Teases

Posted: Fri Mar 31, 2023 2:46 pm
by FrozenWolf
Image MiloDB 1.12, 2023-03-31
  • Fixed: Database had missing content for teases #39182, #42325, #43250, #44945, #46853, and #47882
  • Fixed: Some NYX teases had missing line breaks due to malformed HTML
  • Fixed: Exception when running test.py when milodb_admin_tests package does not exist
  • Added: License statement in each source file
  • Database: Updated to 2022-12-31
MiloDB is one year old today! :cake:

For the avoidance of doubt, the license on the source code is:

Code: Select all

# MiloDB by FrozenWolf is marked with CC0 1.0.
# To view a copy of this license, visit http://creativecommons.org/publicdomain/zero/1.0
This means that you can copy it, change it, sell it, print it out and eat it, whatever you want really.

Re: MiloDB: Finding Old Teases

Posted: Sun Apr 30, 2023 11:25 am
by FrozenWolf
Image MiloDB 1.13, 2023-04-30
  • Added: Index of the match is now show on webpages
  • Changed: Webpage TOTM icons replaced with inline SVG
  • Changed: Reduced executable size by excluding modules and binaries
  • Database: Updated to 2023-01-31
Note: I'm considering removing the webpage CSS colour configuration from
'config.json'
and just putting it directly into
'default.css'
as root variables at the top. I want to overhaul
'default.css'
at some point to include much better formatting. I don't know if that'll cause anyone any problems (I'm only aware of about six people who have ever used MiloDB), but if it is a problem or you can think of a better way of doing it, please let me know.

Re: MiloDB: Finding Old Teases

Posted: Wed May 31, 2023 9:53 pm
by FrozenWolf
Image MiloDB 1.14, 2023-05-31
  • Fixed: Line breaks in NYX text are now preserved
    Some NYX teases had line breaks in their text which are normally ignored with XML parsing, however those line breaks do appear when the tease is played and therefore they are now retained.
  • Added: Contents of known deleted teases are now included in the database
    Following some continued encouragement (thanks Trusfrated!), the contents of known deleted teases are included in the database. This includes teases that can't be found, teases marked as invisible, teases that have been removed, and teases that are invalid (usually zero size). Note that there are some teases for which I have no content, just the summary, and any tease that was removed before 2021 won't feature in the database because I never knew it existed in the first place.
  • Added: The title of a deleted tease is prefixed with '[DELETED]'
  • Added: 'query' command can query against deleted teases with 'status' field
  • Changed: Replace webpage favicon with inline SVG
  • Database: Updated to 2023-02-27
If anyone finds a tease that has been removed but isn't marked as such in the database, let me know and I'll mark it as such.

Re: MiloDB: Finding Old Teases

Posted: Thu Jun 01, 2023 12:26 am
by Carnal1
I just realized I've never directly thanked you for this, so Thank You :thankyou:
I am a regular user -mostly just text query looking for some tease I barely recall some tidbit of. Most of the time milodb finds it. Sometimes I use it to do a better search for interesting teases that I may want to play.
I was thinking the same thing about if showing deleted teases would be possible, so thanks for that now too.
One wish more I have would be if when showing the results through "browse" command, if it could also show the tease page that matches?
Much appreciated that not only have you originally shared your work but that you regularly update it.

Re: MiloDB: Finding Old Teases

Posted: Thu Jun 01, 2023 5:01 pm
by FrozenWolf
Carnal1 wrote: Thu Jun 01, 2023 12:26 am I just realized I've never directly thanked you for this, so Thank You :thankyou:

I am a regular user -mostly just text query looking for some tease I barely recall some tidbit of. Most of the time milodb finds it. Sometimes I use it to do a better search for interesting teases that I may want to play.
I was thinking the same thing about if showing deleted teases would be possible, so thanks for that now too.
You're welcome, I'm glad you're finding it useful, especially if you're able to find interesting teases that might have otherwise been lost to history!
Carnal1 wrote: Thu Jun 01, 2023 12:26 am One wish more I have would be if when showing the results through "browse" command, if it could also show the tease page that matches?
Thanks for the suggestion, that's definitely possible; it'll need a change to the database format, admin tool, search engine, and all output formatters. It's definitely not a trivial change, but I think it's a good idea, so I'll have a think about it.

The page could be shown in an additional column of the HTML pages, looking like the following for each tease type:
  • REG: Literal page numbers such as '1', '2', '3', etc.
  • NYX: Labelled page names such as 'start', 'page1', 'page2', 'intro2', 'game', etc.
  • EOS: Labelled page names such as 'start', 'disclaimer', 'laptop-2', etc.
    Each page in EOS can contain multiple text blocks, so I might need to group them together to make it look nice, although I'll need to be a little bit careful when only matching text blocks within a page are being shown.
I'll make some mock-ups to see what that'll look like for each type.

Re: MiloDB: Finding Old Teases

Posted: Thu Jun 01, 2023 6:41 pm
by pepsifreak
Is there any command to only generate the browse html file with a link but not auto-open it? I don't want it opening in my default browser.

Re: MiloDB: Finding Old Teases

Posted: Thu Jun 01, 2023 8:13 pm
by FrozenWolf
pepsifreak wrote: Thu Jun 01, 2023 6:41 pm Is there any command to only generate the browse html file with a link but not auto-open it? I don't want it opening in my default browser.
There isn't a command for that at the moment. If you can suggest a good command name, I can add that in easily. Alternatively, I could add an entry to the configuration that prevents the browse and browseall commands from actually launching the browser.

Re: MiloDB: Finding Old Teases

Posted: Fri Jun 02, 2023 6:52 pm
by FrozenWolf
FrozenWolf wrote: Thu Jun 01, 2023 5:01 pm
Carnal1 wrote: Thu Jun 01, 2023 12:26 am One wish more I have would be if when showing the results through "browse" command, if it could also show the tease page that matches?
Thanks for the suggestion, that's definitely possible; it'll need a change to the database format, admin tool, search engine, and all output formatters. It's definitely not a trivial change, but I think it's a good idea, so I'll have a think about it.

The page could be shown in an additional column of the HTML pages, looking like the following for each tease type:
  • REG: Literal page numbers such as '1', '2', '3', etc.
  • NYX: Labelled page names such as 'start', 'page1', 'page2', 'intro2', 'game', etc.
  • EOS: Labelled page names such as 'start', 'disclaimer', 'laptop-2', etc.
    Each page in EOS can contain multiple text blocks, so I might need to group them together to make it look nice, although I'll need to be a little bit careful when only matching text blocks within a page are being shown.
I'll make some mock-ups to see what that'll look like for each type.
Here are some mock-ups with the page reference included. Is this what you had in mind?

REG
Mockup-MiloDB-Results-REG.png
Mockup-MiloDB-Results-REG.png (76.89 KiB) Viewed 2316 times
NYX
Mockup-MiloDB-Results-NYX.png
Mockup-MiloDB-Results-NYX.png (75.44 KiB) Viewed 2316 times
EOS
Mockup-MiloDB-Results-EOS.png
Mockup-MiloDB-Results-EOS.png (70.2 KiB) Viewed 2316 times
HTML
Mockup-MiloDB-Results.html.zip
(4.4 KiB) Downloaded 98 times

Re: MiloDB: Finding Old Teases

Posted: Fri Jun 02, 2023 8:38 pm
by flow_test
Do you have this up on github somewhere? Would be great to just clone it & do occasional pulls for updates as opposed to relying on forum posts here, especially considering the recent downtime.

Re: MiloDB: Finding Old Teases

Posted: Fri Jun 02, 2023 9:16 pm
by Carnal1
FrozenWolf wrote: Fri Jun 02, 2023 6:52 pm
Here are some mock-ups with the page reference included. Is this what you had in mind?

Yeah, that would be great if not too much trouble.

Re: MiloDB: Finding Old Teases

Posted: Mon Jun 05, 2023 9:00 am
by FrozenWolf
flow_test wrote: Fri Jun 02, 2023 8:38 pm Do you have this up on github somewhere? Would be great to just clone it & do occasional pulls for updates as opposed to relying on forum posts here, especially considering the recent downtime.
I do appreciate that it can be a bit of a pain to keep going to MEGA to get the latest version. The database artefact is the fundamental issue as it's a generated output and most diff engines can't determine a practical patch between two versions. While something like git lfs might be suitable for the binaries, it does need an lfs compliant git client, and a git savvy user :-)

I was considering adding a built in command/script to do updates as suggested by oculus (viewtopic.php?p=325994#p325994), but each time I had a spark of interest in it, Milovana went down, and MiloDB suddenly felt like a lot of wasted effort.

I'll certainly have another think about it and see if I can come up with an update mechanism that would be simple and suitable for all users.

Re: MiloDB: Finding Old Teases

Posted: Mon Jun 05, 2023 9:01 am
by FrozenWolf
Carnal1 wrote: Fri Jun 02, 2023 9:16 pm
FrozenWolf wrote: Fri Jun 02, 2023 6:52 pm
Here are some mock-ups with the page reference included. Is this what you had in mind?
Yeah, that would be great if not too much trouble.
Righto, I'll give it a shot and see if I can get it into the June 30th release.

Re: MiloDB: Finding Old Teases

Posted: Fri Jun 30, 2023 12:22 pm
by FrozenWolf
6. Launch Configuration
The commands '
browse
', '
browseall
', '
open
', and '
openauthor
' can be configured to launch a custom command instead of opening the default webbrowser. This provides the opportunity for:
  • Open a specific webbrowser rather than the system default
  • Open the webbrowser in private/incognito mode
    Requested by PlayfulGuy around May 2022. I got there eventually!
  • Open another application altogether
  • Not opening anything at all
    Requested by pepsifreak.
6.1 Sample output
> browse

Created 'C:\Users\fw\AppData\Local\Temp\tmp6_qd0wxs.html'
Launching: start msedge -inprivate "$u"
       as: start msedge -inprivate "file:///C:/Users/fw/AppData/Local/Temp/tmp6_qd0wxs.html"


6.2 Sample configuration
This is specified in the
config.json
file. This example will cause the '
browse
' and '
browseall
' commands to open the generated browse file in Microsoft Edge in private mode, and the '
open
', and '
openauthor
' to open the generated browse file in Firefox in private mode.

"commands": {
    "browse": {
        "customLaunchCommand": "start msedge -inprivate \"$u\"",
        "launchOption": "custom"
    },
    "open": {
        "customLaunchCommand": "start firefox --private-window \"$u\"",
        "launchOption": "custom"
    }


6.3 Launch option

 "launchOption"   Effect
─────────────────┼────────────────────────────────────────────────────────────
 "default"        Launch the default webbrowser with the relevant link.
                  "customLaunchCommand" is ignored.
─────────────────┼────────────────────────────────────────────────────────────
 "custom"         Launch the application specified by "customLaunchCommand".
─────────────────┼────────────────────────────────────────────────────────────
 "none"           Do not launch anything, just show the file or url.
                  "customLaunchCommand" is ignored.


6.4 Custom launch parameters
The "customLaunchCommand" may contain parameters that are replaced at runtime with the appropriate content.

 Parameter        Meaning
─────────────────┼────────────────────────────────────────────────────────────
 $u               The URI of the file or link.
                  Example link:            file:///tmp/tmp6ql3gjbn.html
                  Example file on Linux:   file:///tmp/tmphwoyc58k.html
                  Example file on Windows: file:///C:/Temp/tmpnlkmvf4o.html
─────────────────┼────────────────────────────────────────────────────────────
 $p               The filepath of the generated file ('browse' commands only)
                  Example file on Linux:   /tmp/tmphwoyc58k.html
                  Example file on Windows: C:\Temp\tmpnlkmvf4o.html


6.5 Private browsing examples

 Browser          "customLaunchCommand"
─────────────────┼────────────────────────────────────────────────────────────
 Microsoft Edge   Windows: "start msedge -inprivate \"$u\""
─────────────────┼────────────────────────────────────────────────────────────
 Mozilla Firefox  Windows: "start firefox --private-window \"$u\""
                  Linux:   "firefox --private-window '$u' &"
─────────────────┼────────────────────────────────────────────────────────────
 Google Chrome    Windows: "start chrome --incognito \"$u\""
                  Linux:   "chrome --incognito '$u' &"
─────────────────┼────────────────────────────────────────────────────────────
 Opera            Windows: "start opera --private \"$u\""
                  Linux:   "opera --private '$u' &"