🔍 MiloDB: Finding Old Teases

All about the past, current and future webteases and the art of webteasing in general.
---
Post Reply
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

🔍 MiloDB: Finding Old Teases

Post by FrozenWolf »

Table of Contents
1. Overview
2. Downloads
3. Quick Start
4. FAQ
5. Change History

1. Overview
MiloDB is an offline application and database that provides enhanced search capabilities to find Milovana teases. It supports EOS, Flash, and Regular tease formats.
application.png
application.png (360.19 KiB) Viewed 26741 times
Searches can look for text in the following fields:
  • Title
  • Summary
  • Text content
  • Tags
Searches can also compare against metadata fields including:
  • Author name
  • Date published
  • Tease ID
  • Author ID
  • Type (eos/nyx/reg/aud)
The included user guide, '
milodb-user-guide.pdf
', contains more information.

1.1. Interface
Queries are entered into the edit box at the top and pressing
<ENTER>
performs the search if the query is valid.

The query is an expression that may be as simple as:
    text contains mango

or more complex with boolean operators:
    rating >= 4 and (text contains notebook or summary contains notebook)


1.2. Platform Support
The tool is written in Python and has been built into a single executable with pyinstaller for Windows and Linux.

1.3. Database Limitations
  • Tags are obtained from the Milovana webpages, and hence are likely to be a subset of the actual tags that the author of the tease registered.
  • The database will be some months behind the teases available from the Milovana website.
    This provides some time for the content and rating of the teases to settle before they are captured.
  • Teases that are changed after they've been captured may not be updated in the database because there is no easy way to determine that they've been changed.
    However, if the author updates the title or summary, that provides a hint to me that the content might have changed, and therefore I'll update the content.
  • Teases that have been deleted after they've been captured still reside in the database, but may not be indicated as deleted if they're more than about a year old.
    I occasionally scan for deleted teases, but if you find one that's deleted and not marked as such, let me know.
  • Authors that have left Milovana after their teases have been captured still reside in the database, but may not be indicated as gone if the teases are more than about a year old.
    I occasionally scan for missing authors, but if you find one that's gone and not marked as such, let me know.
1.4. Application Limitations
  • The user guide is a work-in-progress.
  • The dark theme is not currently configurable.
  • There could be a simpler alternative to the query panel for searching.
1.5. Known Issues/Annoyances
  • The card panel goes temporarily blank when scrolling with the scroll bar.
  • When sorting the list panel, it always scrolls back to to the top-left.
  • When sorting the list panel, the current selection is cleared.
Last edited by FrozenWolf on Tue Sep 30, 2025 3:07 pm, edited 5 times in total.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

MiloDB: Finding Old Teases

Post by FrozenWolf »

2. Downloads
Most users will just want the binaries. The source is available for the curious, but is not required to run the tool.

2.1. Self Updating
From version 4.0.0, there is a built in 'update' button that should allow you to easily update to the latest version. Note that it only works with the binary distribution, not the source code.

2.2. Binaries
Windows x86_64: milodb-gui-windows-2026-06-01-4.10.0.zip
Linux x86_64: milodb-gui-linux-2026-06-01-4.10.0.zip

Extract the zip file and you should get the following directory structure:
  milodb/
  ├─ milodb-user-guide.pdf   User guide
  ├─ milodb.exe              Windows executable (Windows binary only)
  ├─ milodb                  Linux executable   (Linux binary only)
  ├─ milodb-changelog.md     History of changes
  ├─ milodb-manifest.ver     Local manifest
  ├─ milodb-teases.dat       Database of teases
  ├─ milodb-thumbs.dat       Database of tease thumbnails
  ├─ default-light.css       Style sheet used for 'Generate Summary' button (default)
  └─ default-dark.css        Style sheet used for 'Generate Summary' button

Windows users should run (e.g. double-click) '
milodb.exe
'.
Linux users should run (e.g. double-click) '
milodb
'.

2.3. Source
milodb-2026-06-01-4.10.0-src.zip
There is an included '
milodb-developer-guide.pdf
' that provides details on how to run MiloDB from source.

2.4. Old Builds
Binaries
Sources
Last edited by FrozenWolf on Mon Jun 01, 2026 11:34 am, edited 53 times in total.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

MiloDB: Finding Old Teases

Post by FrozenWolf »

3. Quick Start
This is a brief summary of a few ways that you might use the tool.
The included user guide, '
milodb-user-guide.pdf
', contains more information.

3.1. Starting Up
The initial log starting window doesn't last long, but typically contains something like this:

Code: Select all

MiloDB 4.0.0, 2025-07-31
Saved config file 'config.json'

Load database
  Read     : 0.012s
  Unpack   : 1.455s
  Parse    : 1.157s
  Assemble : 0.868s
Load completed: 3.555s

Load thumbnails
  Read     : 0.005s
  Unpack   : 0.015s
  Parse    : 0.002s
  Unpack   : 0.785s
  Assemble : 0.006s
Load completed: 0.825s

8,524 teases loaded ranging from 2006-08-15 to 2025-03-30
8,137 thumbnails loaded
The line "
Saved config file 'config.json'
" indicates that a default config file has been created because one was not found. Subsequent executions will read the existing config file.

3.2. Searching for 'mystical'
To search the text of all teases for the word 'mystical', enter the following into the query panel and press
<ENTER>
to perform the search.
query-mystical.png
query-mystical.png (4.67 KiB) Viewed 26738 times
The '
contains
' verb used in the query searches for plain text.

If we click on the
Hits
column header in the list view, we can sort by the number of hits.
list-sort-and-select.png
list-sort-and-select.png (48.98 KiB) Viewed 26738 times

Select the first item by clicking on it, and it will also be highlighted in the card panel.
card-panel-selected.png
card-panel-selected.png (179.2 KiB) Viewed 26738 times

The actual text matches for the selected tease appear in the matches panel.
matching-text.png
matching-text.png (57.29 KiB) Viewed 26738 times

3.3. Generate a Summary
The 'Generate Summary' button creates a web page with the current results and, by default, opens the web page in your system-default web browser.
generate-summary.png
generate-summary.png (6.27 KiB) Viewed 26738 times

3.4. Open a Tease
Double-clicking a tease will open it, by default, in your system-default web browser.

3.5. Copy a Tease
The right-click menu will present various options depending on which panel you use it on.

3.5.1. List Panel
list-right-click.png
list-right-click.png (12.18 KiB) Viewed 27753 times
3.5.2. Card Panel
card-right-click.png
card-right-click.png (12.08 KiB) Viewed 27753 times
3.5.3. Text Panel
text-right-click.png
text-right-click.png (6.89 KiB) Viewed 27753 times
Last edited by FrozenWolf on Tue Sep 30, 2025 3:32 pm, edited 4 times in total.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

MiloDB: Finding Old Teases

Post by FrozenWolf »

4. FAQ

What happened to the terminal variant?

The original terminal variant is end-of-life as of 2025-07-31 and is no longer updated or supported.

Why is the database some months out of date?

After any tease is released, there is an opportunity for the author to update it and users to play and rate it. It seems sensible to allow a settling period for that to occur before the tease is captured. Additionally, this tool is intended to find teases that have fallen off the first few pages of the webteases list.

Can I change the colours of the application?

Not at the moment, no.

What do the icons represent?

The included '
milodb-user-guide.pdf
' has an iconography section.

Can I change the colours in the BBCode format?

Yes, the 'Config' dialog supports editing those colours.

The '
user-config.json
' file has a section "
format/bbcode/colour
" that contains BBCode colour codes used when the format is set to 'bbcode'. This is typically represented as a hexadecimal octet triplet in the form '#rrggbb' where 'rr', 'gg', and 'bb' represent red, green, and blue values respectively.

See https://www.w3schools.com/colors/colors_picker.asp for some guidance.

Can I change the colours/styles in the generated HTML web pages?

Yes, the 'Config' dialog supports changing the style-sheet.

The '
user-config.json
' file has a section "
format/html/cssFilePath
" that refers to the active style-sheet that is injected into the generated web pages. You can change this to one of the default style-sheets, or use one of your own.

What do the gold and silver icons represent on the generated web pages?

Gold represents a 'tease-of-the-month winner' identified by the tag 'totm'.
Silver represents a 'tease-of-the-month nominee' identified by the tag 'totm-nominee'.

How often is the database going to be updated?

My current intention is to update it approximately every month.

Can I use private browsing when opening a web browser?

Yes, the 'Config' dialog supports editing those launch options.

The '
user-config.json
' file has sections "
commands/browse
" and "
commands/open
" that determine how the browser is launched.

The included '
milodb-user-guide.pdf
' has samples of launch commands for a few browsers.

Does this tool put a lot of stress on the Milovana server?

No, the tool runs completely offline. The only time the Milovana website is accessed is when your web browser retrieves thumbnails for the web pages generated by the 'Generate Summary' button.

How is the database constructed?

The milovana website is scraped (by me) to retrieve the metadata from the webteases list, and the actual tease content. This forms a delta in a master-database. All deltas are merged together, reformatted, heavily compressed, saved to '
milodb-teases.dat
' and '
milodb-thumbs.dat
', and packaged along with the application for users to download.

The included '
milodb-user-guide.pdf
' has more details.

Does updating the database put a lot of stress on the Milovana server?

No. When the data is retrieved from the Milovana website, it's only fetching the HTML part of a few pages of webteases, and downloading the script component of a months worth of teases. It doesn't fetch any media (i.e. images and sounds) and therefore the amount of data retrieved is typically much less than just playing a single tease.
Last edited by FrozenWolf on Tue Sep 30, 2025 3:33 pm, edited 12 times in total.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

MiloDB: Finding Old Teases

Post by FrozenWolf »

5. Change History

4.10.0, 2026-06-01
  • Database: Updated to 2026-02-24
4.9.0, 2026-05-01
  • Database: Updated to 2026-01-30
4.8.0, 2026-04-01
  • Changed: Improved formatting of the changelog in the update dialog
  • Database: Updated to 2025-12-26
4.7.0, 2026-03-01
  • Fixed: Removed rogue '}' at the top of the user guide
  • Database: Updated to 2025-11-30
4.6.0, 2026-02-01
  • Fixed: Mouse scroll-wheel now scrolls in update dialog
  • Fixed: When restarting to update, the text 'Completing update' appeared in the wrong place on the splash dialog
  • Changed: Renamed config items related to launch for consistency
  • Changed: Extended chapter on launch configuration in the user guide
  • Changed: Improved appearance of splash dialog
  • Added: Quick start chapter to the user guide
  • Added: Information about duplication squelching to the user guide
  • Database: Squelched consecutive identical paragraphs in a page
  • Database: Updated to 2025-10-31
4.5.0, 2026-01-01
  • Changed: Constrained height of expansion to five lines and show a scroll bar when needed
  • Changed: Disabled right-click menu option to open-author and copy-author-url when author is unknown or gone
  • Added: Scroll expansion text to keep currently highlighted token visible
  • Added: Highlight associated expanded text to correspond with the token under the cursor in the query text
  • Database: Recovered authorIds for all teases
  • Database: Updated to 2025-09-30
2025 Builds
Spoiler: show

4.4.0, 2025-11-30
  • Fixed: Window icon on some dialog windows
  • Changed: Improved appearance of loading dialog
  • Changed: Improved titles of dialogs
  • Database: Updated to 2025-08-30
4.3.0, 2025-11-01
  • Fixed: Cleaned up icons on desktop and window
  • Fixed: Colour of 'unknown' author text in table list panel had poor contrast when row was selected
  • Fixed: Warning/error icon in prompt dialog was too far down when detail text was long
  • Changed: Table theme is now used in update dialog
  • Removed: Removed source code related to terminal build
  • Database: Updated to 2025-07-31
4.2.0, 2025-09-30
  • Fixed: Pasting text into config editor didn't cause 'Revert'/'Reset' button to appear
  • Changed: Overhauled theme for a more consistent look
  • Database: Updated to 2025-06-28
4.1.0, 2025-08-31
  • Fixed: Text highlighting started one character too early on lines containing an emoji anywhere before the highlight
  • Fixed: Error highlighting in queries containing unterminated quotes didn't appear after variable expansion
  • Fixed: Error highlighting in queries containing unterminated quotes didn't show in expanded text
  • Changed: Stripped zero-width-space unicode characters from database text
  • Changed: Added copy/open URL buttons to the About dialog
  • Changed: Renamed config files for consistency; prefixed with 'user-'
  • Database: Updated to 2025-05-28
4.0.0, 2025-07-31

This is the new graphical variant of MiloDB.

3.15.0, 2025-07-31
  • Added: End-of-life message
  • Added: 'gui-upgrade' command
  • Added: Audio stats in 'stats' command
  • Added: Sort keys for audio count
  • Database: Updated to 2025-04-29
3.14.0, 2025-06-30
  • Fixed: Update failed when trying to rename non-existent config files
  • Changed: Renamed core files for consistency
  • Database: Updated to 2025-03-30
3.13.0, 2025-05-30
  • Fixed: Handling of quoted text in custom launch commands
  • Added: Sort key for word count
  • Added: Add 'debug' command for diagnosing launch issues
  • Database: Updated to 2025-02-27
3.12.0, 2025-04-30
  • Added: 'about' command now shows the amount of memory used by the application
  • Database: Recovered some missing author names and IDs
  • Database: Updated to 2025-01-29
3.11.0, 2025-03-31
  • Fixed: Update no longer tries to execute 'None' when switching to a non-supported platform
  • Fixed: Update no longer fails when trying to delete non-existent deprecated config files
  • Changed: During update, temporary files are placed in subdirectory of main application instead of system temp
  • Changed: Improved speed of 'stats' command
  • Changed: Included date range of database in 'stats' command
  • Changed: Updated URI to CC0 licence
  • Changed: 'sort' command can now sort by 'status', 'author', 'authorStatus', 'images', and 'uniqueImages'
  • Changed: Improved formatting for 'update list all' and 'update list variants' commands
  • Changed: Help of 'update' command now mentions the inability to TAB complete the variant name on 'update switch'
  • Database: Stripped duplicate page names from NYX teases
  • Database: Updated to 2024-12-31
3.10.0, 2025-02-28
  • Changed: Improved consistency of error messages on command parsing
  • Database: Updated to 2024-11-30
3.9.0, 2025-01-31
  • Fixed: Handle failures launching the default web browser
  • Added: 'update list' subcommand to list available versions and variants
  • Added: 'update switch' subcommand to support switching to different variants
  • Changed: 'update' command is less verbose when fetching the remote manifest
  • Changed: 'update' command will no longer show file differences and strategy if there is no update available
  • Changed: 'about' command now shows current variant
  • Database: Updated to 2024-10-30
2024 Builds
Spoiler: show

3.8.0, 2024-12-31
  • Fixed: 'unknown' author ID shown in browse summary had wrong colour in default-dark.css
  • Changed: Upgraded to Python 3.12
  • Changed: Fortified update fetches by handling incomplete reads and URI redirections
  • Database: Updated to 2024-09-30
3.7.0, 2024-11-30
  • Fixed: Matched fields 'status' and 'authorStatus' were associated with the wrong tease field
  • Added: Dark themed CSS for 'browse' and 'browseall' commands
  • Changed: Removed CSS colour configuration from config file and moved into CSS file
  • Database: Updated to 2024-08-29
3.6.0, 2024-10-31
  • Changed: Database format updated
  • Database: Updated to 2024-07-30
3.5.0, 2024-09-30
  • Added: Automatic migration to newer configuration versions
  • Changed: Split launch options into platform specific groups
  • Database: Updated to 2024-06-30
3.4.0, 2024-08-31
  • Added: 'config set' subcommand to set entries at runtime
  • Added: 'config edit' subcommand to edit entries at runtime
  • Added: 'config reset' subcommand to reset entries at runtime
  • Database: Sorted tags alphabetically
  • Database: Replaced ambiguous punctuation with standard punctuation
  • Database: Updated to 2024-05-31
3.3.0, 2024-07-31
  • Added: 'about' command to show system info and forum links
  • Added: 'config purge' subcommand to purge redundant entries from the configuration file
  • Changed: Replaced pip requirements-{windows,linux}.txt with requirements-{run,build,develop}.txt
  • Database: Replaced non-breaking spaces with regular spaces in tease text
  • Database: Updated to 2024-04-30
3.2.0, 2024-06-30
  • Fixed: 'query' command operator 'not' now has higher precedence as was originally intended
  • Fixed: Unit test failure on Windows due to inability to delete read-only files
  • Added: 'config' command to view config entries at runtime
  • Changed: 'update' command will prompt and wait for user response if there is any error during the update
  • Database: Updated to 2024-03-30
3.1.0, 2024-05-31
  • Fixed: Help text of 'update' command had rogue linefeed and full stop
  • Changed: 'query' command can now match against partial dates
  • Changed: 'update' command re-uses remote connections
  • Changed: 'update' command verifies integrity of downloaded assets
  • Database: Updated to 2024-02-28
3.0.0, 2024-04-30
  • Added: 'update' command to perform self updates
  • Database: Updated to 2024-01-30
2.5.0, 2024-03-31
  • Database: Updated to 2023-12-31
2.4.0, 2024-02-29
  • Changed: Upgraded PyInstaller to 6.4.0
  • Database: Updated to 2023-11-30
2.3.0, 2024-01-31
  • Database: Updated to 2023-10-31
2023 Builds
Spoiler: show

2.2.0, 2023-12-31
  • Database: Updated to 2023-09-30
2.1.0, 2023-11-30
  • Removed: 'update' command to perform self updates
  • Database: Updated to 2023-08-31
2.0.0, 2023-10-31
  • Added: 'update' command to perform self updates
  • Database: Updated to 2023-07-31
1.18, 2023-09-30
  • Fixed: Username of @10570 in #8668 renamed 'paswis' -> 'mangoman'
  • Added: Clicking on tease titles in browse pages will jump between list and summary
  • Database: Updated to 2023-06-30
1.17, 2023-08-31
  • Added: Known authors who have left are now prefixed with '[GONE]' with their name and authorId still present
  • Added: 'query' command can query against absent authors with 'authorStatus' field
  • Changed: 'url' and 'urlauthor' commands can now output more than one link at a time
  • Database: Updated to 2023-05-26
1.16, 2023-07-30
  • Database: Updated to 2023-04-29
1.15, 2023-06-30
  • Fixed: NYX teases with unquoted text fields were not being captured
  • Fixed: Config settings were always using default values
  • Added: Page references can now be shown alongside text paragraphs
  • Added: 'pagerefs' command to toggle the visibility of the page references
  • Added: Configuration for launching the web browser with 'browse', 'browseall', 'open', and 'openauthor' commands
  • Database: Updated to 2023-03-31
1.14, 2023-05-31
  • Fixed: Line breaks in NYX text are now preserved
  • Added: Contents of known deleted teases are now included in the database
  • 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
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
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
1.11, 2023-02-28
  • Database: Updated to 2022-11-30
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
  • Changed: List alignment no longer shifts to the right when 99 < hits < 1000
  • Database: Updated to 2022-10-31
2022 Builds
Spoiler: show

1.9, 2022-12-31
  • Fixed: 'var delete/get' no longer ignores redundant arguments
  • Fixed: Character index of an unterminated string now refers to the starting quote
  • Fixed: 'browse' and 'browseall' no longer fail silently if the CSS file is not found
  • Fixed: TAB completion was misleading when input included a fault in variable expansion
  • Fixed: Variable expansion is now disabled for of all subcommands of 'var' command
  • Fixed: 'copy' command now strips trailing end of line
  • Fixed: Manually patched author names of '[email protected]' caused by Cloudfare obfuscation
  • Added: Errors on input now display the input after variable expansion to give better context
  • Added: 'var edit' subcommand
  • Added: 'var copy' subcommand
  • Added: 'var rename' subcommand
  • Database: Updated to 2022-09-30
1.8, 2022-11-30
  • Added: 'var' command to support inline input variable expansion
  • Database: Updated to 2022-08-30
1.7.1, 2022-11-02
  • Fixed: Author name was corrupted in summaries in ANSI format
1.7, 2022-10-31
  • Fixed: Removed redundant '/' in '<meta.../>' in generated HTML
  • Fixed: URLs are no longer generated for unknown authors
  • Added: Sorting by number of hits
  • Added: Hits statistics shown in lists and summaries
  • Changed: Help of 'sort' command includes information on sort keys
  • Changed: Placeholder shown when an author's name/id is missing
  • Changed: Improved consistency of error messages on output
  • Database: Updated to 2022-07-31
1.6, 2022-09-30
  • Fixed: Text highlighting now works properly when highlight spans line-endings
  • Fixed: Unhandled exception when 'copy' command couldn't access clipboard
  • Fixed: Empty directories from distribution source zip file are now pruned
  • Database: Updated to 2022-06-30
1.5, 2022-08-31
  • Changed: Improved performance of 'show', 'showall', 'browse', 'browseall'
  • Database: Updated to 2022-05-31
1.4, 2022-07-31
  • Database: Updated to 2022-04-30
1.3, 2022-06-30
  • Fixed: Help examples for 'show' command used the wrong command
  • Added: 'showall' command to complement the 'browseall' equivalent
  • Database: Updated to 2022-03-31
1.2, 2022-05-31
  • Fixed: Ellipsis in abbreviated text was being placed incorrectly in some circumstances
  • Fixed: Ellipsis was still shown with 'show' command even when disabled on ANSI format
  • Added: 'copy' command to transfer output of the following command to the clipboard
  • Added: Extended 'stats' to include 'images' parameter
  • Added: Protection against excessive memory consumption by constraining total match count
  • Database: Updated to 2022-02-28
1.1, 2022-04-30
  • Fixed: Query text now matches against capital letters
  • Added: 'stats' command for silly statistics of the database
  • Database: Updated to 2022-01-31
1.0, 2022-03-31
  • Database: Updated to 2021-12-31
Beta Builds
Spoiler: show

0.9, 2022-03-30, beta
  • Added: Indication of TOTM nominees and winners are now shown in the list view as 'w' or 'n'
  • Changed: Removed text of '1st' and '2nd' from TOTM icons in generated webpages
0.8, 2022-03-22, beta
  • Fixed: Tags for TOTM nominees and winners are now patched into the database
  • Fixed: Errors from missing or invalid 'type is' parameters now show a list of options
  • Added: Sort by TOTM is now possible with 'totm' sort key
  • Added: Help for query now includes example for using 'not' operator
  • Added: Webpages produced by 'browse' and 'browseall' have an icon and a better title
  • Added: Webpages produced by 'browse' and 'browseall' show a TOTM icon for relevant teases
  • Added: Queries for 'type is' has TAB support for suggestion and completion
  • Added: Windows - Executable now has an icon
  • Changed: Removed 'tags' as a queryable field
  • Changed: Improved formatting of help output
  • Changed: Displayed list of expected possible inputs on error is now sorted
0.7, 2022-03-17, beta
  • Fixed: Sorting results by rating is now consistent
  • Fixed: Teases with no rating showed a rating of "0" instead of "0.0"
  • Fixed: Rogue characters in titles and summaries are now stripped
  • Fixed: Tags are now shown as a list of items
  • Added: Query field 'date' supports verbs '>', '<', '>=', '<=', '='
  • Added: Tags can now be searched as separate items
  • Added: Field 'tag' is now a synonym for 'tags'
0.6, 2022-03-13, beta
  • Added: Query verb 'matches' is for regular expression matches
  • Added: 'browse' and 'browseall' commands include thumbnails for each tease
  • Changed: Query fields 'rating', 'authorId', 'teaseId' supports verbs '>', '<', '>=', '<=', '='
  • Changed: Query verbs 'is' and 'contains' are now plain text matches
  • Changed: Query verbs are now appropriate to each field
0.5, 2022-03-07, beta
  • Fixed: Alignment of the output of the 'show' command when authorIds are more than 5 digits
  • Changed: Rating is now shown as a value instead of a percentage
  • Changed: Config file is no longer distributed with the release
  • Changed: Config file is automatically generated with defaults if missing
  • Changed: Config file is verified for missing, redundant, and invalid entries
  • Changed: 'browse' and 'browseall' now use the CSS file specified in the config file
  • Changed: Default CSS file "default.css" is now distributed with the release
  • Changed: CSS files may contain keywords that are replaced with config entries
  • Changed: Trimmed the output of the BBCode formatting to remove redundant [pre] tags
Alpha Builds
Spoiler: show

0.4, 2022-02-19, alpha
  • Changed: Replaced pack files with single database file
0.3, 2022-02-14, alpha
  • Added: 'url' and 'urlauthor' commands
  • Added: 'openauthor' command
  • Added: Run list of commands in autoexec.txt at startup if it exists
  • Changed: Command 'list', 'show', and 'summary' now show indices for matches
  • Changed: Commands that used to accept a TeaseId now accept a RefId which can be a MatchIndex, #TeaseId, or @AuthorId
  • Changed: Output formats ansi, plain, and bbcode now prefix TeaseId with '#' and AuthorId with '@'
  • Changed: Improved help output
0.2, 2022-01-15, alpha
  • Added: Readme file
  • Added: Changelog file
  • Fixed: Windows - Crash on browse and browseall with unicode characters
  • Fixed: Windows - ANSI colour codes showing as raw characters in terminal
  • Fixed: Windows - Single file executable has rogue dependencies
  • Changed: Extended help for query command
0.1, 2022-01-11, alpha
  • Added: 'help' command
  • Changed: Load database packs in parallel
0.0, 2022-01-03, alpha
  • Initial release
Last edited by FrozenWolf on Mon Jun 01, 2026 11:35 am, edited 52 times in total.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: MiloDB: Finding Old Teases

Post by FrozenWolf »

MiloDB 1.1, 2022-04-30
  • Fixed: Query text now matches against capital letters
    This was a silly regression mistake that my tests didn't catch.
  • Added: 'stats' command for silly statistics of the database
    Some authors have written entire novels. Very impressive!
    Try the command '
    stats content
    ' to see what I mean.
  • Database: Updated to 2022-01-31
I began working on a GUI as an addition to/replacement for the console interface. Currently I've had no feedback as to whether anyone has used (or even downloaded) MiloDB 1.0, so I'll put the GUI development on hold for now.
User avatar
Trusfrated
Explorer At Heart
Explorer At Heart
Posts: 465
Joined: Mon Nov 08, 2010 8:41 am
Gender: Male

Re: MiloDB: Finding Old Teases

Post by Trusfrated »

Thanks for the update!

The new Stats addition is pretty cool. Very eye-opening.

This is a great little utility. It's not like I use it everyday, but it's indispensable when I need to find something buried in the depths of this site. The stock search system is severely lacking and this makes up for it. :-)
ImageImage
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: MiloDB: Finding Old Teases

Post by FrozenWolf »

Trusfrated wrote: Sun May 01, 2022 1:48 am Thanks for the update!

The new Stats addition is pretty cool. Very eye-opening.

This is a great little utility. It's not like I use it everyday, but it's indispensable when I need to find something buried in the depths of this site. The stock search system is severely lacking and this makes up for it. :-)
Thanks Trusfrated, at least I know it's been used at least once :-D. Let me know if you have any further suggestions for improvements, I'm always open to ideas.
oculus
Explorer
Explorer
Posts: 6
Joined: Sat Sep 23, 2017 1:33 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: MiloDB: Finding Old Teases

Post by oculus »

Great tool! Even without a GUI it works like a charm ;)
Really missed this kind of search on the page itself.

What would be great, if i am able to update the database by itsself. Is there anyway to do it by Script?
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: MiloDB: Finding Old Teases

Post by FrozenWolf »

oculus wrote: Tue May 10, 2022 12:41 pm Great tool! Even without a GUI it works like a charm ;)
Really missed this kind of search on the page itself.
Thanks, that's great to hear!
oculus wrote: Tue May 10, 2022 12:41 pm What would be great, if i am able to update the database by itsself. Is there anyway to do it by Script?
This was a quandary for me during the early alpha builds. Generating the database is a tricky job that involves scraping the website, parsing the tease, stripping any formatting, encoding, validating, and finally compressing. I have an admin tool that does most of the heavy lifting for me, but there are still a few manual steps.

There were a number of options that I considered specifically for the application:
  1. Include an 'update' command to pull the latest pre-built database (or delta patch)
    With this method, the release binary wouldn't need to include the database, although the merging of delta patches is quite involved.
  2. Include an 'update' command to scrape the latest from the Milovana website
    This could potentially put a huge strain on the Milovana website, so I rejected this idea early on. Instead I do a one-off scrape with a separate admin tool so that there is minimum impact on the website. That does mean of course that the database will always be out of date, but I think that's the most fair I can be.
  3. Deliver the database and application together
    This puts all of the strain on some other server, in this case Mega, and the total binary file size is probably rather trivial to Mega. The format of the database is still being updated/tweaked to better support the internal workings of the application, and at the moment, the version of the application and version of the database are closely tied together.
There were a few other options, but those were the most relevant that I considered, and eventually opted for option #3 for its simplicity and negligible load on the Milovana website. This could change in the future, and would likely transition to option #1, in which case the application would have to be capable of updating itself to deal with any database format changes, so I think it would be more of an 'update all' command.

If you have any other ideas, it's always nice to hear more options!
oculus
Explorer
Explorer
Posts: 6
Joined: Sat Sep 23, 2017 1:33 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: MiloDB: Finding Old Teases

Post by oculus »

Just some rough thinks for your consideration, since I don't know much about your admin script and the database itsself :)

Firstly i would recommend hosting the source on e.g. Github.

This would probable help you with Option 1 a lot and should be quite easy to maintain.
Also it helps you for Release Notes, Updating the Database, source diffs and maybe someone will help you developing ;)
It is possible to do a git-commit via Console, therefore it could be included in your admin-script. With the nice sideeffect for your users, that you can implement a auto notification and download on start of the app :)

Since your app is mainly written in python (as far as i know, please correct me if i'm wrong) you could also provide the runtime for python and patch the script files via git-diff from GitHub. Would save you the hasle of providing a binary all the time. Just need one binary, with contains your Patch-System and loads anything from GitHub (Spicy for Tease AIJ is a gread example how it could work)

What i would do for option 2 is the following:
1. Check page 1 for latest Tease, if this one is already inside DB -> Stop updating
If this precheck is done, the load for page only comes if there are teases to update. In any other cases it only produces the same load as if I'm opening the tease page.
To further give you some advices i need to understand how your database is constructed and how your admin scripts work :)

If you're willing to share some insights i'll try to help you as best as i can.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: MiloDB: Finding Old Teases

Post by FrozenWolf »

oculus wrote: Tue May 10, 2022 4:33 pm Firstly i would recommend hosting the source on e.g. Github.

This would probable help you with Option 1 a lot and should be quite easy to maintain.
Also it helps you for Release Notes, Updating the Database, source diffs and maybe someone will help you developing ;)
It is possible to do a git-commit via Console, therefore it could be included in your admin-script. With the nice sideeffect for your users, that you can implement a auto notification and download on start of the app :)
I already keep all of the source in a local git repo, but it's overly big for github at the moment because of its history; luckily I don't need any help with the development at the moment, but thanks for the offer! :-)
oculus wrote: Tue May 10, 2022 4:33 pm Since your app is mainly written in python (as far as i know, please correct me if i'm wrong) you could also provide the runtime for python and patch the script files via git-diff from GitHub. Would save you the hasle of providing a binary all the time. Just need one binary, with contains your Patch-System and loads anything from GitHub (Spicy for Tease AIJ is a gread example how it could work)
Yes, it is almost entirely Python. You can have a look at the source snapshot available from here: viewtopic.php?p=323738#p323738.

Providing the binary is no problem at all, and there wouldn't be much of an advantage to hosting it on github at the moment. The admin tool does most of the heavy lifting. TAJ has its own complications due to the dependency on the Java runtime and external runtime libraries. I wanted to try and keep the whole tool offline to keep it simple.

My understanding from reading other community posts is that a single download and 'double-click-to-run' approach is preferred with as little complication as possible. That's why I'm keeping the distribution as simple as possible, at least for now. There are certainly many opportunities for alternative hosting and distribution techniques, so I'll keep this one in mind too.
oculus wrote: Tue May 10, 2022 4:33 pm What i would do for option 2 is the following:
1. Check page 1 for latest Tease, if this one is already inside DB -> Stop updating
If this precheck is done, the load for page only comes if there are teases to update. In any other cases it only produces the same load as if I'm opening the tease page.
This is actually what I'm trying to avoid; some users have already expressed concern of the potential hit to the Milovana website, especially as I don't expect users to use the tool very often, and performing an update after a month or two of new teases by multiple users would put unnecessary pressure on the website.

The primary purpose of the tool is to help find text within older teases that have fallen off the first few pages of the Webteases. Newer teases tend to be updated periodically and their rating bounces around all over the place; that's why I'm using the three month latency on the database contents. So it's not intended to be a mirror of the Milovana teases, or a replacement for the existing search facility; it's more of an archive tool really.

I hope that makes some sense, I think I've written too much again. :-D
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: MiloDB: Finding Old Teases

Post by FrozenWolf »

MiloDB 1.2, 2022-05-31
  • Fixed: Ellipsis in abbreviated text was being placed incorrectly in some circumstances
  • Fixed: Ellipsis was still shown with 'show' command even when disabled on ANSI format
  • Added: 'copy' command to transfer output of the following command to the clipboard
  • Added: Extended 'stats' to include 'images' parameter
  • Added: Protection against excessive memory consumption by constraining total match count
  • Database: Updated to 2022-02-28
'copy' command

Examples:

Code: Select all

> copy list
> copy show
> copy url 8
Note: The 'url' and 'urlauthor' commands no longer copy to the clipboard by default and their respective output to the terminal is now simplified to just the URL text without embellishments.

'stats images' command

The new 'stats images' command (suggested by Trusfrated and indyc) would have shown the following:

Code: Select all

> stats images

Top count of unique images by tease:
     10,317   #53235  Trials of the Succubi v1.7 : [indyc, @110114]
      4,062   #53783  Animation Quality Test with Blake Blossom [Demo] : [fapnip, @106621]
      3,795   #50990  Miss Evans (Repost) : [, @0]
      2,613   #35401  Will you save America ? : [lovecraft, @46155]
      ...
:w00t: indyc, that's incredible!

I then discovered that '#53235, Trials of the Succubi v1.7, 2021-10-27' isn't there any more :-( so I've removed it, but it has been superseded by '#56177, Trials of the Succubi, 2022-04-13' :-D, although that doesn't actually appear in the current database because it's still quite new :look:. It'll be in there eventually!

Protection against excessive memory consumption

If you perform a query that's likely to match against an enormous number of text items, it will be abandoned after reaching 10 million matches.
For example, if you search for all vowels (no idea why you'd want to, but hey why not?!):

Code: Select all

> query text matches [aeiou]

  1:   #6684  reg  3.3     2017-07-06  Pantyhose Dreams : [pha, @8971]
  2:  #12336  nyx  3.2     2016-06-24  Anal play : [shdw_fghtr, @16619]
  3:  #13201  nyx  3.5     2015-09-21  Fick meinen Dildo : [Blacky4096, @11068]
...
2407:  #50629  eos  4.3     2021-05-20  Exchange : [fibonacci, @693]
2408:  #50667  reg  3.5     2021-05-20  Domme PlayDate cum eating instructions : [ADLove, @110595]
2409:  #50714  eos  4.2     2021-05-24  Cum for this emerald eyed goddess : [megaman, @110384]

Warning: Limit of 10,000,000 matching items was reached
   Note: Search stopped with 9,998,555 matching items
   Note: Searched 2,418 of 7,517 teases (32.2%)
User avatar
PlayfulGuy
Experimentor
Experimentor
Posts: 1068
Joined: Sat Jul 07, 2012 10:08 pm
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): No domme
Sub/Slave(s): No sub
Location: British Columbia, Canada

Re: MiloDB: Finding Old Teases

Post by PlayfulGuy »

Hi frozenwolf!

I had occasion to use this today. I was trying to remember what tease gave a rather specific instruction and with this tool I was able to find it in a matter of seconds.

Like trusfrated said in a previous comment, I may not use it every day, but it's indispensable when you need it.

Your instructions in the thread here were also invaluable. Nothing like good instructions to go with a great tool!
It was great to be able to do a "copy url" command, flip over to my downloader and paste the url, and a few seconds after finding the tease I was looking for it's downloading!

Thanks for all your hard work on this.

PG
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: MiloDB: Finding Old Teases

Post by FrozenWolf »

Hi PG,
PlayfulGuy wrote: Tue Jun 07, 2022 6:30 pm I had occasion to use this today. I was trying to remember what tease gave a rather specific instruction and with this tool I was able to find it in a matter of seconds.

Like trusfrated said in a previous comment, I may not use it every day, but it's indispensable when you need it.
Great, that's what I like to hear. If it gets the occasional use, that's good enough for me to keep it alive.
PlayfulGuy wrote: Tue Jun 07, 2022 6:30 pm It was great to be able to do a "copy url" command, flip over to my downloader and paste the url, and a few seconds after finding the tease I was looking for it's downloading!
It's great that it works in tandem with your downloader (which is superb by the way). You get the credit for suggesting the 'url' command in the first place!
Post Reply