Welcome, Guest
Python Scripts for ComicRack

TOPIC: CreateBookList Custom Scrips "options" value (and some of my beta scripts)

CreateBookList Custom Scrips "options" value (and some of my beta scripts) 1 year 7 months ago #45440

  • Xelloss
  • Xelloss's Avatar
  • Online
  • Platinum Boarder
  • Posts: 463
  • Thank you received: 118
  • Karma: 24
I am writing a custom script for ComicRack and I as wondering if there was any way to make one of the " 2 entry values" (that can be enabled as text camps) a list with options... (and not a text camp to complete)

For example, I am writing a script that find comics with the same format, the same series, the same number... etc... (not an specific value, but that it is duplicated in another comic in the list)... and it works great, but I have to write words such as format, series, number as text in the smart list instead choosing them from a list... (I mean something like when you choose contain/is/is greater than etc options in non custom scripts for smart lists)
Last Edit: 1 year 7 months ago by Xelloss.
The administrator has disabled public write access.

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45441

  • Xelloss
  • Xelloss's Avatar
  • Online
  • Platinum Boarder
  • Posts: 463
  • Thank you received: 118
  • Karma: 24
I leave a copy of the script here for anyone interested... It returns complete comic volumes which have a comic inside them which has a different value in a specified attribute (format, series group,etc) than the rest of the books in the volume...

It is still a bit beta, but it works quite well... It helped me find a lot of mistakes I made writing formats and series groups in comics of my collection...

For it to work just install the .py in your script folder, restart and use the custom script "Find Volumes with different...." in any smart list. You have to also add the attribute you want to compare... for example "Format" or "SeriesGroup"

btw, I wrote it taking the "find missing comics in a gap" script of this forum (made by Stonepaw) as a base... so there is a lot of his code there too!


File Attachment:

File Name: FindFormatError.zip
File Size:1 KB
(the name of the script is that because at fist it only worked for Format... I will modify it if I continue updating it in the future XD)

P.S. = The script ignores any comic with TPB format, as most of the time they have the same name as the regular comics and a lot of the times they are published in the same year, so ComicRack thinks they are in the same volume and it just make things confusing with this script... Perhaps in the future I will add a "comicvine scrapper custom volume id number" comparison to make it more reliable...

P.S. 2 = If you want to mix this script with other rules in the smart lists (as I did), remember it compares attributes only with the comics given by previous rules... In other words, it change the results if you put it as first or last rule in the list... If you filter first with other rules, and then use the script, it will only compare with the comics which passed the first rules... On the other hand, if you put it first, it will compare with ALL comics in the library, and the other rules will filter the result of that comparison :P

P.S. 3 = Remember that this script will only show you comics in the same volume with different "whatever you like" value... It doesn't mean they are wrong because of that... Sometimes Series Group or Format can change in the middle of a volume! But as usually they don't, it will make it easy to find out if it was a mistake or not XD

P.S. 4= I decided to read the empty value of the attribute as a value, and not to ignore it... so if a comic doesn't have a Format, Series Group, etc... Its Format, Series Group, etc will be "" and different from any other value... (I kept it that way because it will help find comics with no value by mistakes... but remember you can filter them with previous rules if you want to!)

As usual, please forgive my English... I swear my Spanish is much better :P
Last Edit: 1 year 7 months ago by Xelloss.
The administrator has disabled public write access.
The following user(s) said Thank You: rmagere, jkthemac

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45442

  • jkthemac
  • jkthemac's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 768
  • Thank you received: 253
  • Karma: 55
Very useful script, Thank you. I instantly found a few issues that I had in the wrong Series Group
The administrator has disabled public write access.
The following user(s) said Thank You: Xelloss

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45444

  • Xelloss
  • Xelloss's Avatar
  • Online
  • Platinum Boarder
  • Posts: 463
  • Thank you received: 118
  • Karma: 24
Thanks! I was playing with this script today... and somehow after some hours it "evolved" into the following script:

File Attachment:

File Name: SameXDifferentY-2.zip
File Size:2 KB


It works the following way... First you put how to group comics by X (Format, SeriesGroup, etc) and then find differences of Y (Format, SeriesGroup, etc) to filter the groups found...

In short, you read the script like this: I want all comics that have the same "first text camp" but that have different "second text camp"

(If multiple attributes, first text camp is with AND, the second is with OR)

You can group and filter for more than one attribute at the same time with separator | (in case of X, it will divide the groups into any combination of values it find, in case of Y, it will search for differences in ANY attribute it has to filter the groups)

Remember this script filter by group... that means, if a comic in a group has the difference (or differences) you are looking for, the entire group will be returned as result (as made by the Y attributes combinations)

You can also use custom values (useful for comicvine id values)

So, for example, if you want to do what my first script did, you put:

(first text camp) = Series|Volume (You group your comics by Series and Volume)
(second text camp) = SeriesGroup (You filter GROUPS so that only ones with more than one SeriesGroup are shown)

Other example would be to find comics in your collection with the same comicvine issue id:

(first text camp) = comicvine_issue (You group your comics by comicvine issue id)
(second text camp) = (if you don't filter by anything, the script will only filter groups with less than 2 comics)

Other example for verifying that there is no comics with the same comicvine volume id and different format:

(first text camp) = comicvine_volume (You group your comics by comicvine volume id)
(second text camp) = Format (you filter those volume groups with different formats)

Or a custom duplicate finder:

(first text camp) = Series|Volume|Title (In this case any 2 or more comics who has same Series Volume and Title)
(second text camp) =

You can use any default attribute in the Comicrack Documentation, or any custom attribute your comics have :P (remember to use Capitals correctly)

I found a lot of uses for this script in my collection, I hope it helps others too :)

If you find any bug or something you want to modify or add, make me know!

ps: You can use as many attributes in each text camp as you want ( at least while you can write them in the text camp), but remember that if you use many attributes in X it will use a huge list of comic groups... that means time and memory...

Edit: I uploaded a new version of the script with fixes for non existent attributes... Now if you write an attribute that doesn't exist in X it will return nothing (as there are no group with the same value) and in Y it will filter everything because there is no difference to find XD
Last Edit: 1 year 7 months ago by Xelloss.
The administrator has disabled public write access.
The following user(s) said Thank You: rmagere, boshuda

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45450

  • jkthemac
  • jkthemac's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 768
  • Thank you received: 253
  • Karma: 55
Very useful indeed. Yet more tidying possible for my database. Thanks for this.
(By the way, we would say text field not text camp.)
The administrator has disabled public write access.

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45451

  • Xelloss
  • Xelloss's Avatar
  • Online
  • Platinum Boarder
  • Posts: 463
  • Thank you received: 118
  • Karma: 24
Ok, this is awkward, I must have mistaken field with camp because it is the same in Spanish (I think, my mind works funny with languages XD). But now that you say it, field sounds way better... I don't know why I used camp D:

I am still looking for a menu loke option for scripts if possible... This script, now with multiattributes and custom values don't need it anymore, but it would be great for a resolution script I am working on u.u

Names for the text fields wouldn't be bad either....
Last Edit: 1 year 7 months ago by Xelloss.
The administrator has disabled public write access.

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45454

  • jkthemac
  • jkthemac's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 768
  • Thank you received: 253
  • Karma: 55
So I have now:
Sorted out stray Series Groups and Main Character entries
Moved stray issues that were hiding in the wrong directory
Tidied up my Indicia custom field
Deleted a few duplicates that were hiding
Tided up issues with the wrong count (3 of 5)
Sorted out Imprints that were inconsistent.

Thanks so much, this has been the most productive script I have used in ages.
The administrator has disabled public write access.
The following user(s) said Thank You: Xelloss

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45458

  • Xelloss
  • Xelloss's Avatar
  • Online
  • Platinum Boarder
  • Posts: 463
  • Thank you received: 118
  • Karma: 24
It seems we have similar way of ordering things, because I gave it exactly the same uses for mine XD

I add a list of comics that changed its volume name in comicvine between scrap and scrap... (useingTitle as Y and comicvine_volume as X)

I am also working (starting) in a scrip to automatically assign format, imprint, series group etc of new comics based on old comics already catalogued...

Btw, thank you do much for the feedback, if you have any bug or idea of how to improve it, feel free to say it! :) (i would be grateful!)

Ps: I don't know if differentiate Capital and non Capital letters... It does now, because I like correcting Capital letters in names... But perhaps it would better with no sensitive case
Last Edit: 1 year 7 months ago by Xelloss.
The administrator has disabled public write access.

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45461

  • jkthemac
  • jkthemac's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 768
  • Thank you received: 253
  • Karma: 55
Xelloss wrote:
Ps: I don't know if differentiate Capital and non Capital letters... It does now, because I like correcting Capital letters in names... But perhaps it would better with no sensitive case
Case sensitive was actually quite useful, I have often wanted to search out the stray uncapitalised entries in my database and never got around to using regex to find them. This found them incidently while I was tidy other elements of my database, so that was a bonus.
Last Edit: 1 year 7 months ago by jkthemac.
The administrator has disabled public write access.

CreateBookList Custom Scrips "options" value 1 year 7 months ago #45462

  • jkthemac
  • jkthemac's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 768
  • Thank you received: 253
  • Karma: 55
Xelloss wrote:
I add a list of comics that changed its volume name in comicvine between scrap and scrap... (useingTitle as Y and comicvine_volume as X)
Volume name changes are a pain in the neck, mainly because Comic Vine is obsessed with indicia as volume name, but they rarely know what the indicia actually is and the main editors don't listen to reason unless you have cast iron physical proof of the indicia.

Worse are the times somebody decides to reorganise old volumes to tie multiple volumes with different indicia together, thereby creating an inconsistency across the database. Take for example Fear(1970) and Adventure into Fear(1972) and contrast with Marvel Comics(1939) and Marvel Mystery Comics(1939).

I try and avoid scraping volumes that I have already sorted out and decided how I want to store them. Annuals are a classic example of how no one method will suit everyone and Comic Vine treats inconsistently.
Last Edit: 1 year 7 months ago by jkthemac.
The administrator has disabled public write access.
Time to create page: 0.209 seconds

Who's Online

We have 258 guests and 2 members online