Topic: Nuking the light/dark tags BUR

Posted under Tag Alias and Implication Suggestions

alphamule

Privileged

snpthecat said:
It's not in your BURs

It wasn't in the source of this topic, either, so it wasn't, yeah. I am going through the tags to see which are not actually brightness-related.

Thumb #https://e621.net/post_versions?search%5Bpost_id%5D=3316728 This must be some kind of record of removed unique/single-digit-presence tags on a single post. You could even say it was monotone-ious! You wouldn't guess who added those tags. :P

Pick one of: Fluffball I'llKogYourMog RexThePichu alphamule (Joke, I don't think I've used anywhere near that many tags in one post)
Kemonophonic is like: "WTH is going on in here?!"

post #2077223 makes me want to bring out the riding mower.

Zoom zoom, splitting some tags. We somehow still had stuff like light_<color>*

I need to go save the IDs of the dark_* posts as well, before starting that part of the cleanup.

Dark_border is just like dark_background. Most of dark_* post IDs are saved, but the 2-digit and 1-digit tags are slow-going to manually save. Same effort for a fraction of the number of posts per tag.

Updated

Watsit

Privileged

BTW, there are also light-skinned* tags, which are basically just light_skin + gender. They should either be aliased to the gender, or light_skin or whatever it gets aliased to (I think aliasing to the gender would be preferable, as I think that's the more important aspect to tag if someone simply tags light-skinned_<gender>). Also a sole dark-skinned_penis tag, the only thing starting with the equivalent dark-skinned*. dark-skinned_female, dark-skinned_futanari, dark-skinned_male, and some other spellings are already aliased to dark_skin.

alphamule

Privileged

Makeup, bodypaint, and markings are all related tags, right? See dark_bodypaint for link to example and more questions.
Redundant tags like dark_clothing when all the clothes are black - chunk it? Same with black hair?
What about something like brown_hat versus brown_headwear? Gold crowns are gold headgear or gold jewelry? Both?
Lightened* tags need looking at, as well?
post #4105723 There two are confusing. Are the clothing tags for the background characters that are blurred?

Pages 3-5 of tag search results:

dark_aether
dark_arm_wraps
dark_armpit_hair
dark_art
dark_artstyle
dark_aura
dark_bow_tie
dark_bowl
dark_boxers
dark_bra
dark_bracelet
dark_bracers
dark_brown_body
dark_brown_face
dark_brown_hair
dark_brown_neck_tuft
dark_brown_skin
dark_brown_spots
dark_business_suit
dark_bustier
dark_cat
dark_chair
dark_circles
dark_countershading
dark_curtains
dark_cutoffs
dark_desire
dark_detached_sleeves
dark_dreams_dont_die
dark_dress_pants
dark_ear_frill
dark_ear_jewelry
dark_eyebrow_piercing
dark_eyeliner
dark_facial_hair
dark_fencer
dark_floor
dark_flukes
dark_gauntlets
dark_glasses
dark_hazel_eyes
dark_head_tuft
dark_inner_pussy
dark_knight_rises
dark_lord
dark_mascara
dark_medial_ring
dark_metal
dark_microskirt
dark_ottsel
dark_overcoat
dark_pajama_bottoms
dark_pajama_shorts
dark_pantyhose
dark_parade
dark_phone
dark_power
dark_red_eyes
dark_repulser_(sao)
dark_ritual
dark_robe
dark_shitao
dark_smartphone
dark_snake_hood
dark_snout
dark_soles
dark_stud_piercing
dark_sweatshirt
dark_tetra_dualies
dark_text_box
dark_the_fox
dark_toe_claws
dark_tryst
dark_wattle
dark_witch_hat
dark_antlers
dark_aura
dark_backpack
dark_banner
dark_basement
dark_bed_sheet
dark_bedding
dark_bench
dark_bikini_top
dark_bride
dark_briefs
dark_brown_arms
dark_brown_butt
dark_brown_eyebrows
dark_brown_inner_ear
dark_brown_nipples
dark_brown_nose
dark_brown_pawpads
dark_brown_pubes
dark_brown_tail
dark_brown_teats
dark_brown_tuft
dark_building
dark_businesswear
dark_cabinet
dark_chair
dark_chaps
dark_emanata
dark_enchantress_cookie
dark_fawful
dark_fingertips
dark_fridge
dark_g-string
dark_garden
dark_garter_belt
dark_gate
dark_goatee
dark_hair_tie
dark_headband
dark_jade_green
dark_jersey
dark_k
dark_legate
dark_lid
dark_lingerie
dark_panda
dark_peach
dark_picture_frame
dark_pouch
dark_prognosticus
dark_reaper
dark_red_eyes
dark_reins
dark_rifle
dark_rope
dark_roz
dark_ruff
dark_rug
dark_scelra
dark_shelf
dark_shogun
dark_skinsuit
dark_slayer_kaz
dark_slime
dark_sniper_rifle
dark_sportswear
dark_steel
dark_strings
dark_the_hedgehog
dark_toki
dark_tube_top
dark_type
dark_undershirt
dark_web
dark_woods
dark_antennae
dark_art
dark_arts
dark_blouse
dark_blue_cock
dark_bodyoluptuous
dark_bodypaint Request for opinions, here .
dark_bodywear
dark_cheek_tuft
dark_color
dark_cuff_(restraint)
dark_cutoffs
dark_cynder
dark_dresser
dark_elven_forest_ranger_(cowgirl_bikini)
dark_forest
dark_goo
dark_head_markings
dark_iguana
dark_liptick
dark_look
dark_mace
dark_makeup
dark_microskirt
dark_microwave
dark_midriff
dark_miniskirt
dark_moon_(battycat)
dark_moon_(luigi's_mansion)
dark_moon_faire
dark_neckerchief
dark_obi
dark_one-piece_swimsuit
dark_sweatpants
dark_symbol

I saved the JSON versions of search results for first 2 pages of tags, and need to process them into ID lists.
https://files.catbox.moe/umpaou.7z Here's a simple script for Windows users. It would be trivial (and indeed both simpler and more powerful) to make a Python or Bash version.
Source code in case link expires:

json2IDc.bat

REM Pipes output to remove status messages and sort in reverse order before saving to postlist.txt.
REM This will NOT check if postlist.txt already exists.  You can add IF EXISTS check if you want.
json2IDb.bat | find /V "D:\" | sort /R /O postlist.txt
REM Opens it in notepad.exe so that you can copy parts of it.
notepad postlist.txt

json2IDb.bat

REM Extracts 'id' values using batch file 'a', then strips out the null results.
REM Ignore missing files, and if you need more than 50000 posts, copypasta.
json2IDa.bat posts.json | find /V "null"
json2IDa.bat posts2.json | find /V "null"
json2IDa.bat posts3.json | find /V "null"
json2IDa.bat posts4.json | find /V "null"
json2IDa.bat posts5.json | find /V "null"
json2IDa.bat posts6.json | find /V "null"
json2IDa.bat posts7.json | find /V "null"
json2IDa.bat posts8.json | find /V "null"
json2IDa.bat posts9.json | find /V "null"
json2IDa.bat posts10.json | find /V "null"
json2IDa.bat posts11.json | find /V "null"
json2IDa.bat posts12.json | find /V "null"
json2IDa.bat posts13.json | find /V "null"
json2IDa.bat posts14.json | find /V "null"
json2IDa.bat posts15.json | find /V "null"
json2IDa.bat posts16.json | find /V "null"
json2IDa.bat posts17.json | find /V "null"
json2IDa.bat posts18.json | find /V "null"
json2IDa.bat posts19.json | find /V "null"
json2IDa.bat posts20.json | find /V "null"
json2IDa.bat posts21.json | find /V "null"
json2IDa.bat posts22.json | find /V "null"
json2IDa.bat posts23.json | find /V "null"
json2IDa.bat posts24.json | find /V "null"
json2IDa.bat posts25.json | find /V "null"
json2IDa.bat posts26.json | find /V "null"
json2IDa.bat posts27.json | find /V "null"
json2IDa.bat posts28.json | find /V "null"
json2IDa.bat posts29.json | find /V "null"
json2IDa.bat posts30.json | find /V "null"
json2IDa.bat posts31.json | find /V "null"
json2IDa.bat posts32.json | find /V "null"
json2IDa.bat posts33.json | find /V "null"
json2IDa.bat posts34.json | find /V "null"
json2IDa.bat posts35.json | find /V "null"
json2IDa.bat posts36.json | find /V "null"
json2IDa.bat posts37.json | find /V "null"
json2IDa.bat posts38.json | find /V "null"
json2IDa.bat posts39.json | find /V "null"
json2IDa.bat posts40.json | find /V "null"
json2IDa.bat posts41.json | find /V "null"
json2IDa.bat posts42.json | find /V "null"
json2IDa.bat posts43.json | find /V "null"
json2IDa.bat posts44.json | find /V "null"
json2IDa.bat posts45.json | find /V "null"
json2IDa.bat posts46.json | find /V "null"
json2IDa.bat posts47.json | find /V "null"
json2IDa.bat posts48.json | find /V "null"
json2IDa.bat posts49.json | find /V "null"
json2IDa.bat posts50.json | find /V "null"
json2IDa.bat posts51.json | find /V "null"
json2IDa.bat posts52.json | find /V "null"
json2IDa.bat posts53.json | find /V "null"
json2IDa.bat posts54.json | find /V "null"
json2IDa.bat posts55.json | find /V "null"
json2IDa.bat posts56.json | find /V "null"
json2IDa.bat posts57.json | find /V "null"
json2IDa.bat posts58.json | find /V "null"
json2IDa.bat posts59.json | find /V "null"
json2IDa.bat posts60.json | find /V "null"
json2IDa.bat posts61.json | find /V "null"
json2IDa.bat posts62.json | find /V "null"
json2IDa.bat posts63.json | find /V "null"
json2IDa.bat posts64.json | find /V "null"
json2IDa.bat posts65.json | find /V "null"
json2IDa.bat posts66.json | find /V "null"
json2IDa.bat posts67.json | find /V "null"
json2IDa.bat posts68.json | find /V "null"
json2IDa.bat posts69.json | find /V "null"
json2IDa.bat posts70.json | find /V "null"
json2IDa.bat posts71.json | find /V "null"
json2IDa.bat posts72.json | find /V "null"
json2IDa.bat posts73.json | find /V "null"
json2IDa.bat posts74.json | find /V "null"
json2IDa.bat posts75.json | find /V "null"
json2IDa.bat posts76.json | find /V "null"
json2IDa.bat posts77.json | find /V "null"
json2IDa.bat posts78.json | find /V "null"
json2IDa.bat posts79.json | find /V "null"
json2IDa.bat posts80.json | find /V "null"
json2IDa.bat posts81.json | find /V "null"
json2IDa.bat posts82.json | find /V "null"
json2IDa.bat posts83.json | find /V "null"
json2IDa.bat posts84.json | find /V "null"
json2IDa.bat posts85.json | find /V "null"
json2IDa.bat posts86.json | find /V "null"
json2IDa.bat posts87.json | find /V "null"
json2IDa.bat posts88.json | find /V "null"
json2IDa.bat posts89.json | find /V "null"
json2IDa.bat posts90.json | find /V "null"
json2IDa.bat posts91.json | find /V "null"
json2IDa.bat posts92.json | find /V "null"
json2IDa.bat posts93.json | find /V "null"
json2IDa.bat posts94.json | find /V "null"
json2IDa.bat posts95.json | find /V "null"
json2IDa.bat posts96.json | find /V "null"
json2IDa.bat posts97.json | find /V "null"
json2IDa.bat posts98.json | find /V "null"
json2IDa.bat posts99.json | find /V "null"
json2IDa.bat posts100.json | find /V "null"
json2IDa.bat posts101.json | find /V "null"
json2IDa.bat posts102.json | find /V "null"
json2IDa.bat posts103.json | find /V "null"
json2IDa.bat posts104.json | find /V "null"
json2IDa.bat posts105.json | find /V "null"
json2IDa.bat posts106.json | find /V "null"
json2IDa.bat posts107.json | find /V "null"
json2IDa.bat posts108.json | find /V "null"
json2IDa.bat posts109.json | find /V "null"
json2IDa.bat posts110.json | find /V "null"
json2IDa.bat posts111.json | find /V "null"
json2IDa.bat posts112.json | find /V "null"
json2IDa.bat posts113.json | find /V "null"
json2IDa.bat posts114.json | find /V "null"
json2IDa.bat posts115.json | find /V "null"
json2IDa.bat posts116.json | find /V "null"
json2IDa.bat posts117.json | find /V "null"
json2IDa.bat posts118.json | find /V "null"
json2IDa.bat posts119.json | find /V "null"
json2IDa.bat posts120.json | find /V "null"
json2IDa.bat posts121.json | find /V "null"
json2IDa.bat posts122.json | find /V "null"
json2IDa.bat posts123.json | find /V "null"
json2IDa.bat posts124.json | find /V "null"
json2IDa.bat posts125.json | find /V "null"
json2IDa.bat posts126.json | find /V "null"
json2IDa.bat posts127.json | find /V "null"
json2IDa.bat posts128.json | find /V "null"
json2IDa.bat posts129.json | find /V "null"
json2IDa.bat posts130.json | find /V "null"
json2IDa.bat posts131.json | find /V "null"
json2IDa.bat posts132.json | find /V "null"
json2IDa.bat posts133.json | find /V "null"
json2IDa.bat posts134.json | find /V "null"
json2IDa.bat posts135.json | find /V "null"
json2IDa.bat posts136.json | find /V "null"
json2IDa.bat posts137.json | find /V "null"
json2IDa.bat posts138.json | find /V "null"
json2IDa.bat posts139.json | find /V "null"
json2IDa.bat posts140.json | find /V "null"
json2IDa.bat posts141.json | find /V "null"
json2IDa.bat posts142.json | find /V "null"
json2IDa.bat posts143.json | find /V "null"
json2IDa.bat posts144.json | find /V "null"
json2IDa.bat posts145.json | find /V "null"
json2IDa.bat posts146.json | find /V "null"
json2IDa.bat posts147.json | find /V "null"
json2IDa.bat posts148.json | find /V "null"
json2IDa.bat posts149.json | find /V "null"
json2IDa.bat posts150.json | find /V "null"
json2IDa.bat posts151.json | find /V "null"
json2IDa.bat posts152.json | find /V "null"
json2IDa.bat posts153.json | find /V "null"
json2IDa.bat posts154.json | find /V "null"
json2IDa.bat posts155.json | find /V "null"
json2IDa.bat posts156.json | find /V "null"
json2IDa.bat posts157.json | find /V "null"
json2IDa.bat posts158.json | find /V "null"
json2IDa.bat posts159.json | find /V "null"
json2IDa.bat posts160.json | find /V "null"
json2IDa.bat posts161.json | find /V "null"
json2IDa.bat posts162.json | find /V "null"
json2IDa.bat posts163.json | find /V "null"
json2IDa.bat posts164.json | find /V "null"
json2IDa.bat posts165.json | find /V "null"
json2IDa.bat posts166.json | find /V "null"
json2IDa.bat posts167.json | find /V "null"
json2IDa.bat posts168.json | find /V "null"
json2IDa.bat posts169.json | find /V "null"
json2IDa.bat posts170.json | find /V "null"
json2IDa.bat posts171.json | find /V "null"
json2IDa.bat posts172.json | find /V "null"
json2IDa.bat posts173.json | find /V "null"
json2IDa.bat posts174.json | find /V "null"
json2IDa.bat posts175.json | find /V "null"
json2IDa.bat posts176.json | find /V "null"
json2IDa.bat posts177.json | find /V "null"
json2IDa.bat posts178.json | find /V "null"
json2IDa.bat posts179.json | find /V "null"
json2IDa.bat posts180.json | find /V "null"
json2IDa.bat posts181.json | find /V "null"
json2IDa.bat posts182.json | find /V "null"
json2IDa.bat posts183.json | find /V "null"
json2IDa.bat posts184.json | find /V "null"
json2IDa.bat posts185.json | find /V "null"
json2IDa.bat posts186.json | find /V "null"
json2IDa.bat posts187.json | find /V "null"
json2IDa.bat posts188.json | find /V "null"
json2IDa.bat posts189.json | find /V "null"
json2IDa.bat posts190.json | find /V "null"
json2IDa.bat posts191.json | find /V "null"
json2IDa.bat posts192.json | find /V "null"
json2IDa.bat posts193.json | find /V "null"
json2IDa.bat posts194.json | find /V "null"
json2IDa.bat posts195.json | find /V "null"
json2IDa.bat posts196.json | find /V "null"
json2IDa.bat posts197.json | find /V "null"
json2IDa.bat posts198.json | find /V "null"
json2IDa.bat posts199.json | find /V "null"

json2IDa.bat

REM Extracts just the id fields - need to figure out better way to leave out nulls
REM .. = recurses
REM .id? = filters by field
jq .. %1 %2 %3 %4 %5 %6 %7 %8 %9 | jq .id?

json2ID_readme.txt

For e621/e962's JSON files from post searches.  Modify for extracting other values.
Just run the 3rd batch file (json2IDc.bat) in a folder with posts*.json to get a postlist.
I placed all three of these and jq.exe in my system32 folder.
https://jqlang.github.io/jq/download/ Get it here.  I used 1.7.1.

json2IDb.bat Does most of the work by calling batch file 'a' for each JSON file.
json2IDa.bat Does the key step of getting 'id' values out of a single JSON file.

Archives: Text(post IDs) JSON

watsit said:
BTW, there are also light-skinned* tags, which are basically just light_skin + gender. They should either be aliased to the gender, or light_skin or whatever it gets aliased to (I think aliasing to the gender would be preferable, as I think that's the more important aspect to tag if someone simply tags light-skinned_<gender>). Also a sole dark-skinned_penis tag, the only thing starting with the equivalent dark-skinned*. dark-skinned_female, dark-skinned_futanari, dark-skinned_male, and some other spellings are already aliased to dark_skin.

Working on it. Failsafe of just adding the implied tags means that no matter what alias is chosen, they should work fine. Some had typos so (for example) simply adding male and dark_skin to dark-skinned_male -male would have been mismatched to proper tags.
Went through *-skinned* and found this abomination, haha. post #41531
Cleaned *skinned* up a bit, as well. Most of those tags looks like they might end up getting aliased?

Updated 9 days later on the 7th

snpthecat said:
I don't think there's much enthusiasm for cleaning them up

I'm actually a good ways down the list of the light_* tags. You can see I moved from the outside in on the search lists I made. I'm about at point that anything Kog tagged light_* or dark_*, I just cut them to a text file, and replace/delete them all in bulk before copying back. It's either that or double-checking for aliased tags. XD
I found many that the tag never applied to any of the results, and a few (mostly not this user) that actually fit.

wandering_spaniel said:
I chose countershading as a target for light_belly instead of belly because I believe it's more accurate to how people are tagging light_belly.

light_belly -countershading The remaining results I'm not sure if actually countershaded. Are they the same shade as the rest of the body?

dark_belly -reverse_countershading Same deal?
Don't we usually only tag the belly color if it's different than the rest of the body? So, actually, not just the shading but the hues need to be retagged (on applicable posts) to just the body tags if true?

Updated

  • 1
  • 2