🔍 MiloDB: Finding Old Teases

All about the past, current and future webteases and the art of webteasing in general.
---
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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.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
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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.4, 2022-07-31
  • Database: Updated to 2022-04-30
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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.5, 2022-08-31
  • Changed: Improved performance of 'show', 'showall', 'browse', 'browseall'
  • Database: Updated to 2022-05-31
User avatar
xdxdxd
Explorer
Explorer
Posts: 9
Joined: Tue Oct 01, 2013 1:49 am
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Submissive

Re: MiloDB: Finding Old Teases

Post by xdxdxd »

Can't thank you enough for this!
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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.6, 2022-09-30
  • Fixed: Text highlighting now works properly when highlight spans line-endings
    This was a regression bug introduced in version 1.5 as part of the optimisation to 'show', 'showall', 'browse', 'browseall'.
  • Fixed: Unhandled exception when 'copy' command couldn't access clipboard
    This should only affect those that try to run MiloDB on embedded devices that might not have a standard clipboard due to a lightweight operating system.
  • Fixed: Empty directories from distribution source zip file are now pruned
  • Database: Updated to 2022-06-30
bondfan
Explorer
Explorer
Posts: 16
Joined: Sun Jul 17, 2011 3:18 am
Gender: Male
Sexual Orientation: Straight
I am a: Submissive
Location: Germany

Re: MiloDB: Finding Old Teases

Post by bondfan »

I just wanted to mention, that this is far more than just searching for old teases. New ones don’t magically get a useful search function without this either ;)

I have always wanted a search function like this for Milovana. Thank you!

If you feel like adding some additional functionality, my request would be some saved queries that I can append, for example
query text contains foo and query savedQuery1
with savedQuery1 as
(not titles matches "abcd" and not authorId is 1234)
The reason is that my searches very often return the same few teases + almost all teases of a certain author (mainly shattered :D)
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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 »

bondfan wrote: Mon Oct 24, 2022 2:48 am If you feel like adding some additional functionality, my request would be some saved queries that I can append, for example
query text contains foo and query savedQuery1
with savedQuery1 as
(not titles matches "abcd" and not authorId is 1234)
The reason is that my searches very often return the same few teases + almost all teases of a certain author (mainly shattered :D)
That's a very interesting idea, and certainly something that could be done (although I probably won't have time to get it into the October 31st release, but maybe the next one).

Maybe it could be completely generic rather than being specific to the query command.

Proposal for Variables

Set the variable 'myFavouriteQuery' and persist it:

Code: Select all

> var set myFavouriteQuery '(not title matches "abcd" and not authorId is 1234)'
Use the variable in query commands (or any command):

Code: Select all

> query $myFavouriteQuery
> query $myFavouriteQuery and title contains banana
> query title contains banana and $myFavouriteQuery and rating >= 3
Because the variables effectively expand in-place, they don't have to be complete standalone expressions:

Code: Select all

> var set tc "title contains"
> query $tc apple
Variables could theorectically form any part of the command input, including the command name:

Code: Select all

> var set qtc "query title contains"
> $qtc apple

> var set someList "list @29180"
> $someList
Get the variable 'myFavouriteQuery':

Code: Select all

> var get myFavouriteQuery

myFavouriteQuery = (not title matches "abcd" and not authorId is 1234)
List all of the variables:

Code: Select all

> var

myFavouriteQuery = (not title matches "abcd" and not authorId is 1234)
tc               = title contains
qtc              = query title contains
someList         = list @17404
Delete the variable 'myFavouriteQuery':

Code: Select all

> var delete myFavouriteQuery
I could extend the tab-completion to support the variables too, such that typing:
    $myFav<TAB>

would complete to:
    $myFavouriteQuery

or preset the list of possibilities if there is more than one variable name that starts with 'myFav'.

Limitations

For now, I don't think I'll support recursive expansion. For example:

Code: Select all

> var set fw "FrozenWolf"
> var set myQuery author is $fw
> query $myQuery
The '
query $myQuery
' would expand to '
query author is $fw
', i.e. it would not expand '
$fw
'

An issue might be the accidental use of '$':

Code: Select all

> var set $fw bondfan
Rather than changing the variable 'fw' to 'bondfan', this would create a new variable 'FrozenWolf' with 'bondfan'.

Final Thoughts

I'll need to do some careful consideration over the tokenisation of the input during '
var set
' and the tokenisation following the expansion. Quotation marks are an indicator to the tokeniser to keep text together, i.e.
"red apple"
is stored as a single token,
red apple
with the quotes discarded but everything in-between preserved, including spaces. Therefore when the variables are listed, it needs to add quotation marks back in where appropriate so that
red apple
could either be shown as
"red apple"
or
'red apple'
or even
red\ apple
, all of which are equivalent. Anyway, that's my problem to worry about! :-P

Do you think that would suit your needs, or have I missed anything, or can you think of a better way of doing it?

Should the variables be saved to 'config,json' or an alternative file since it's not really configuration?
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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 »

bondfan wrote: Mon Oct 24, 2022 2:48 am If you feel like adding some additional functionality, my request would be some saved queries that I can append, for example
query text contains foo and query savedQuery1
with savedQuery1 as
(not titles matches "abcd" and not authorId is 1234)
The reason is that my searches very often return the same few teases + almost all teases of a certain author (mainly shattered :D)
On reflection, another approach would be to save the actual list, which might be what you originally meant and I misunderstood :smile:

Proposal for List Saving

To perform a query, save the list, and then perform a query on the saved list:

Code: Select all

> query text contains frogs and not authorId is 1234
> list save lotsOfFrogs
> query on lotsOfFrogs title contains kermit
The 'on' would have to be the first (and only) occurence in the query command.

Restoring the saved list to be the active list:

Code: Select all

> list restore lotsOfFrogs
Viewing the list by name without affecting the current list:

Code: Select all

> list lotsOfFrogs
This means that 'lotsOfFrogs' could be treated as a RefId:

Code: Select all

> list 3 lotsOfFrogs @1234 #21892
Listing the saved lists:

Code: Select all

> list saved

lotsOfFrogs      8 entries
This would mean that a saved list can't be named 'saved'.

Adding a prefix to the saved name might make it easier (for me), e.g. '+lotsOfFrogs' so it can be used as a RefId with the other commands too:

Code: Select all

list +lotsOfFrogs
show +lotsOfFrogs
showall +lotsOfFrogs
browse +lotsOfFrogs
browseall +lotsOfFrogs
That means that you can have a save list called 'save' because it would be referenced as '+save'.

Final Thoughts

That might be overloading the list command a bit, so alternative commands such as '
saveList lotsOfFrogs
', '
restoreList lotsOfFrogs
', '
listList
' (ugh!),

This approach would be a bit simpler for me to implement and could be implemented in addition to the Variables.

Do you think that would suit your needs, or have I missed anything, or can you think of a better way of doing it?
bondfan
Explorer
Explorer
Posts: 16
Joined: Sun Jul 17, 2011 3:18 am
Gender: Male
Sexual Orientation: Straight
I am a: Submissive
Location: Germany

Re: MiloDB: Finding Old Teases

Post by bondfan »

Oh wow. That’s extensive, glad you like the idea :D

While list refinement could be a decent feature, I feel like it’s already close enough by pressing `up` till the command is back and simply appending filters.

Your first idea with the variables is pretty much exactly what I meant with the limitations not being an issue (it would be one of those "1% functionality, 40% of the work" situations :D). The variables would be kinda like macros. Maybe they could be saved in a plain text file, that would allow sharing or easier editing.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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 »

bondfan wrote: Tue Oct 25, 2022 2:34 am Your first idea with the variables is pretty much exactly what I meant with the limitations not being an issue (it would be one of those "1% functionality, 40% of the work" situations :D). The variables would be kinda like macros. Maybe they could be saved in a plain text file, that would allow sharing or easier editing.
Great, I'll start working on it in the background. With any luck, I'll be able to get it done for the November 30th release. I might have to store the variables in json format, like the config file, depending on whether I tokenise the value of the variable before storing or not; I'm not sure yet.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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 »

Image MiloDB 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
'hits' column

The number of hits is shown as the second column in the list and it represents the number of times the query criteria matched within a tease. For example:

Code: Select all

> query text contains bananas

  1:   *1   #1101  reg  2.9     2009-07-19  Amy's back... : [Timshel, @63]
  2:   *1   #1986  reg  2.6     2008-02-13  Happy Valentine's Day (Boss) *Giggle, too Fun* : [Executive Angel, @600]
  3:   *3   #2628  reg  4.0     2008-06-04  Getting your 5-A-Day! : [cumhardy, @3635]
  4:   *1   #6736  reg  4.0     2009-11-11  Endurance Test : [Sklave1, @8821]
  5:   *1   #8211  reg  4.5     2010-04-28  Kara: Teasing Cock-Sitter (Part 2) : [cactusman, @145]
  6:   *1  #12076  nyx  2.7     2011-06-02  The Whip... : [realslave1885, @12269]
  7:   *1  #15766  reg  4.3  n  2012-03-13  Skyping with Tiff and Dee : [pigjoy, @12040]
  8:   *2  #17456  nyx  4.2     2013-01-03  The Chain 2 - The Climb : [Sexytimes 5, @22164]
  9:   *6  #22509  reg  4.5     2013-08-27  Banana Deepthroat Training : [MadameX, @33901]
 10:   *2  #23381  nyx  3.6     2013-11-10  Toxxxy´s game : [unknown author]
...
In this case, the
*1, *3, *2, *6
show the number of times that 'bananas' was found in the text of the respective tease.

The number of hits is also shown in summaries:

Code: Select all

> summary 9

Index         9   Hits   6
Tease    #22509   Title  'Banana Deepthroat Training'
Author   @33901   Name   'self._highlight_metadata(tease_match, Tease.author_name)'
Type        reg   Date   2013-08-27
Rating      4.5   Tags   foodplay, chores, gagging, for-gals, cum-eating
Tease   https://milovana.com/webteases/showtease.php?id=22509
Author  https://milovana.com/forum/memberlist.php?mode=viewprofile&u=33901
Summary
Deepthroat training using a banana, for boys or girls. Try it if you ever wanted to learn how to deepthroat
The HTML output from 'browse' and 'browseall' also includes include the new hits value.

Placeholder for missing author

The author of unknown teases is shown as 'unknown'.

Code: Select all

> query title contains evans

  1:   *1  #18375  reg  3.7     2012-09-29  Meet Chayse Evans : [d3vi0n, @14792]
  2:   *1  #50990  eos  4.8     2021-06-21  Miss Evans (Repost) : [unknown author]

> summary 2

Index         2   Hits   1
Tease    #50990   Title  'Miss Evans (Repost)'
Author  unknown   Name   unknown
Type        eos   Date   2021-06-21
Rating      4.8   Tags   female-top, for-guys
Tease   https://milovana.com/webteases/showtease.php?id=50990
Author  https://milovana.com/forum/memberlist.php?mode=viewprofile&u=0
Summary
For most recent version use this link. Thanks for playing. (Dec 2021 - Some small fixes and a few new sessions in normal play. You wont find them in open mode)
The HTML output from 'browse' and 'browseall' also shows 'unknown' without a clickable link where necessary.

Fortunately, you can still search for all teases with an unknown author with either: '
query authorId = 0
' or
'query authorName is ""
', but commands such as
'urlauthor #50990'
will display an error rather than producing an invalid URL.
Attachments
milodb-search-icon-24x24.png
milodb-search-icon-24x24.png (7.59 KiB) Viewed 2723 times
milodb-search-icon-32x32.png
milodb-search-icon-32x32.png (3.79 KiB) Viewed 2773 times
Last edited by FrozenWolf on Wed Nov 02, 2022 11:09 pm, edited 1 time in total.
User avatar
Trusfrated
Explorer At Heart
Explorer At Heart
Posts: 450
Joined: Mon Nov 08, 2010 8:41 am
Gender: Male

Re: MiloDB: Finding Old Teases

Post by Trusfrated »

Great idea to add the new Hits column! :-D

Thanks for the continued development of this great app!
ImageImage
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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 »

Image MiloDB 1.7.1, 2022-11-02
  • Fixed: Author name was corrupted in summaries in ANSI format
Database is unchanged.
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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 »

Image MiloDB 1.8, 2022-11-30
  • Added: 'var' command to support inline input variable expansion
  • Database: Updated to 2022-08-30
Variables

Thanks to the suggestion from bondfan, variables can now be used within the input to be expanded automatically.

'var' command

This new command allows setting/deleting/viewing variables. For example:

Code: Select all

> var set eosOrNyx type is eos or type is nyx
> query $eosOrNyx
Is equivalent to:

Code: Select all

> query type is eos or type is nyx
Variables are recursively expanded, such that the value of one variable may reference another. For example:

Code: Select all

> var set eosOrNyx type is eos or type is nyx
> var set good rating >= 3.5
> var set niceThings $good and ($eosOrNyx)
> query $niceThings
Is equivalent to:

Code: Select all

> query rating >= 3.5 and (type is eos or type is nyx)
Variables can be used anywhere on the input, and are not specific to the query command even though that's probably where they're most likely to be used. For example:

Code: Select all

> var set ellioff ellipsis off
> $ellioff
Is equivalent to:

Code: Select all

> ellipsis off
Currently existing variables can be listed:

Code: Select all

> var

  eosOrNyx         : type is eos or type is nyx
  good             : rating >= 3.5
  niceThings       : $good and ($eosOrNyx)
  ellioff          : ellipsis off
Variables are loaded from 'variables.json' at startup and are automatically saved when set.

TAB completion works with variable names but only if you lead with a '$'. This is to prevent the variable names being mixed up with command names and keywords.

Current Limitations
  • When there's a parse error within a variable expansion, the error message may not be quite as useful as it should be. I'll try and improve that.
  • TAB completion when there's a parse error within a variable expansion could be misleading. That's a bug.
Final Thoughts

Internally, the mechanism for parsing the input has changed significantly. It should still behave exactly the way it did before when entering normal commands without using variables, but if you do spot anything weird going on, I might have missed something, so please let me know.

If in doubt:

Code: Select all

> help var
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 321
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 »

Image MiloDB 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
Wishing everyone the best for 2023! :-D
Post Reply

Who is online

Users browsing this forum: mtcantor and 62 guests