Jump to content

Kobo Cover Fixer


TheSaint
 Share

Recommended Posts

7 hours ago, TheSaint said:

I understand some aspects of your conversion, but not all, so I am taking it on faith you got it right. :) 

Well bud, don't put faith on me because I did not do the conversion nor did I check it :P

I just put it through ChatGPT and at a glance it *looks* right, if it doesn't work with the correct image id string then let me know, I'll have another look.


Anyway I see that you've done quite well for yourself, did you take GPT's help with the Python code? If not, good job on getting it to work on your own.

2 hours ago, TheSaint said:

Meanwhile, I am sure that TheDcoder will come up with the AutoIt code solution, and I can ditch my Python script.

Sorry bud, don't count on it, I have my own projects that aren't making much progress :P

But this is very trivial code so I am hoping another savvy python coder here can help you convert it to AutoIt.

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

49 minutes ago, TheDcoder said:

Anyway I see that you've done quite well for yourself, did you take GPT's help with the Python code? If not, good job on getting it to work on your own.

Thanks bud, and all on my own, though your comment about qhash being a custom function helped, and a number of other things falling into place giving me some insight.

I went the Python script route because the conversion aspect had me stumped. I hate to think of how much time I wasted on trying different things getting it to work.

Clearly the Python code works, but there is something missing in the conversion to AutoIt code, and I cannot determine what, and really can't waste any more time on it.

I have a solution now, if not the best one for a couple of reasons, but it will do.

I've taken a break and not done the ultimate test yet, which will probably happen tomorrow now. I suspect it will work though, cannot see why it wouldn't. But then, that's using normal thinking, and the Kobo coder(s) have already shown they like to be convoluted and complex ... so much so, that my Kobo device has perpetual issues, as does my wife's, a different model. Both of which discourage me from buying a new one, especially a color one.

But in any case, I want my next e-ink device to be both color and a larger one. There's not much value in color for the current standard size, beyond seeing covers in color while browsing, and the occasional small color image. Where color and size come into their own, is with graphic novels, comics, magazines, textbooks and biographies with color images or photos on a large 10" screen. While I have a good number of such ebooks, I don't read such very often, and my 10" Samsung Tablet has proved to be acceptable enough.

At some point I will need another Kobo e-ink device though, and like many right now, I do feel the pull and attraction of getting a color one.

But at the same time, I already have three e-ink devices and the good 10" tablet. I also have a 7" cheap brand tablet, that worked well enough and I haven't used in years. The only two I use with any regularity are the Kobo and the Kindle Paperwhite. Every now and then I use the Samsung tablet, usually to read a biography. My Keyboard Kindle, my first E-ink purchase that got me invested in such, is a great device, and on a rare occasion I force myself to use it, but as it is not great to use in poor lighting or the dark, due to no inbuilt light, only a pullout light built into the cover, which is only passable at best, I prefer to not use it. I do however prefer buttons for page turning, which it has and the Paperwhite doesn't. It is also the only device, aside from my tablets, with support for audio, not that I currently use that facility, only having a small handful of audio books, which I am not really into.

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)

I'm almost done. Spent most of yesterday, when not celebrating my daughter's birthday and dealing with a visitor, modifying my program.

The placebo stuff is now redundant of course, so had to get rid of that, which took some doing. Still have to clean up some that is just disabled.

I then used that GUI portion for some new buttons, and resized some other controls and added in a CLONE button as well.

ISR_13.thumb.png.5a5deb8577a2dea2ae4b73f77107dbb2.png

I've implemented the new compiled Python script, used by the DETERMINE button, and it works well. Not visible in the screenshot is an extra column for the ImageID, which has been present and hidden almost from the beginning of development. And when you select an entry now, that has no images listed, the ImageID displays in a temporarily re-purposed and resized input field along with accompanying pink label.

By the way, 5 days ago was the anniversary of when I first started working on this program ... 25 May 2023.
I worked on it solidly for almost a month, and then put it aside, until a few days ago.
And I have now been able to achieve, at least in theory still, what I could not back then. That said, I did achieve a few useful aspects back then. I could fix things for ebooks that lacked an image or two or had bad images, as many of my side-loaded ones did. The only thing I could not achieve, was where no images existed at all, and so we could not determine what folder to use for the missing three images for an ebook. Those cover images being what you see when browsing your device or the current ebook when the device is put to sleep.

I have many such ebooks now, where no cover is displayed when I browse or when my Kobo device is put to sleep.

I am looking forward to using my program to fix all that now. Just a few bits more to code to finalize things, and then the ultimate test, which I don't expect to fail.

Spoiler

What I also don't know for sure yet, is just how long my fixes will last. The next Wifi Sync for instance could muck some up again. As it is, Sync no longer completes for me, and hasn't for several months. That also means that Download doesn't work for me either, just gets stuck on Pending for each new desired download. I have been getting around that, by clicking on READ NOW, which luckily instantly downloads the selected ebook. I am also lucky that despite Sync not working, any new purchases do show up on the ALL list fairly soon after turning Wifi on. The annoyance of using READ NOW, is that I have to then exit the ebook after it downloads and opens, then also set the read state to UNREAD. All fiddly stuff with small menus and my big fingers, and errors are common and waste more of my time correcting. Just recently I have stopped using that difficult to select three dots, and hold my finger down on an ebook entry until the same menu pops up ... it's slower but avoids errors.

The first thing I will need to do, is refresh everything, because my Kobo has a lot more ebooks on it now, and so I need to retrieve the latest SQL database file from it to use with my program, plus clone all the folders in the .kobo-images folder on my PC again. And because my Kobo's USB connection is a bit flaky sometimes, I need to get things just right, and do things in a quick and timely fashion ... hence the delay, while I have added the new CLONE button, plus re-purposed the ADD button (via checkbox) to be a COPY button.

I am essentially using the clone to do all necessary file and folder creation on my PC, then use the COPY button for each ebook I have fixed, using the benefit of the MARK and NEXT buttons. The idea is to spend as short a time as possible working directly with my Kobo device and that temperamental USB connection. As I think I have declared before, the USB connection seems to work fine while my Kobo is charging, but once fully charged it keeps losing the connection.

P.S. I have also been held up by needing to do a refresher course of my program, and the code. I've now added some things to make that easier in future. I guess that's pretty normal when not engaging with something for almost a year. By the time I finish coding a program, I do try to make it easy to understand if not used for a while. And I will be the first to admit, that I don't always get it completely right, though I tend to generally be better at doing that these days.

Keep it simple, can be a challenge with some programs, both as a user and a coder.

While I am providing my still to be completed script, a bunch of things are either not fully finished or tested, so beware.

WARNING - The following download is still a work-in-progress and therefor incomplete. It may give errors or more likely not do all it says yet.

Kobo Cover Fixer.au3      DisplayArray.au3     GDIP.au3

Python App.html    5.94 Mb  (MEGA Link in HTML referral page)

That DisplayArray include, is a slightly modified _ArrayDisplay function. Basically I needed to overcome the unavoidable ExitScript functionality. No idea why that default button has to kill the whole program, with no parameter to avoid that. Usually I just avoid having that button display in my final code, but it cannot be avoided when utilizing the FUNCTION button. With my amended code it just closes the _ArrayDisplay window now.

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)

Still not quite finished, other things claiming my attention today.

I did however do some more as well as clean up my code a bit and improve some elements of it.

And I cannot compete against new ideas incoming.

With any luck I will finish tomorrow.

WARNING - The following download is still a work-in-progress and therefor incomplete. It may give errors or more likely not do all it says yet.

Kobo Cover Fixer.au3

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)

Well things have been delayed due to some holdups, one of those being more improvements I desire, which require a good amount of coding and testing. Most of the other holdups have either been general life demands or other projects I am working on.

The following is not related as such with my program in this topic, but it is related in an image file sense, but just as covers for CDs rather than ebooks.

Spoiler

As discussed elsewhere, one of those projects is ripping all my CDs to WAV files, which I did a good amount of years ago, then stopped for all sorts of reasons, then resumed about three to four months ago, and have been working at constantly since. It takes a fair amount of my time, and I work around other demands on my time. The process is simple enough in itself, and if CD details and artwork are easily downloaded from the web at the click of a button, not a lot of effort or time on my part. But regularly I find I have to search the web for the CD cover artwork, usually getting it from Discogs ... but in some cases, further afield like ebay etc. Sometimes I even have to type in all the CD details myself. I also regularly have to make the odd correction to any details obtained. Not least because I like things to be a certain way or spelling mistakes etc exist. One of the most common correction I need to make is the original year of release, which is often missing or just plain wrong (probably a later re-release or something), and for CDs it can be quite the challenge to find the year, and sometimes an educated guess is required, especially for collections (Various Artists and Best Of etc). While I can look for and add the artwork later, I won't rip without the year, as it is part of the file name, and so painful to correct later.

Anyway, a side issue came up a couple of days ago, where I discovered that many of my CD covers weren't displaying with my NeoTV 550 hardware media player. This is an issue that sometimes occurs, and on investigation has proved to be lack of support for 'Progressive JPG' image files. For some reason some folk save their image as a 'Progressive JPG' file rather than a standard JPG file. Quite irritating when I discover this, as it means re-saving the image and then replacing embedded images in the affected MP3 and FLAC files. It is bad enough when I just discover one CD instance, but in this last instance it is many CDs that have been impacted, so a lot of work to correct.

I already have a program I created, that I use with CD cover images, either just renaming them to just 'Folder.jpg' and or else converting them to JPG and or resizing them to one of my preferred dimensions, and even cropping on occasion. It can't currently detect if a JPG file is a 'Progressive JPG' one, so I am now looking into how to do that, plus how to convert to a standard JPG with minimal loss in quality, when an image is found to be a 'Progressive JPG'.

So while I am still working on 'Kobo Cover Fixer', I am only doing so now and then, when not taking a break to work on this other image issue, plus other stuff I need to do around the home etc. Be assured though, that this project is still moving forward each day.

Here's some screenshots of my latest additions.

Compare.png.af0a28c036d8fd7d29599a294fcf1f8d.png

I've added that to the BACKUP IMAGES process, which I have made significant changes to.

I've also added another choice of image locations to use, the 'Backups' folder created by the BACKUP IMAGES process.
The three image sizes can be selected using 'Backup 1' or 'Backup 2' or 'Backup 3' as shown in the following screenshot.

ISR_14.thumb.png.774da59be2a7f4d70a1a4849a38c2ce6.png

I would have needed to code these extras eventually, but because I already have a Clone location, that I now need to replace with the latest data on my Kobo device, I wanted to make sure that the work already done (created image files etc) is not lost and can be easily available. Hence the improvements to the BACKUP IMAGES process and related.

WARNING - The following download is still a work-in-progress and therefor incomplete. It may give errors or more likely not do all it says yet.

Kobo Cover Fixer.au3

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)
8 hours ago, Werty said:

Fixed your gui code identation...

It is is already indented (4 spaces).

The (3 spaces) default of a basic SciTe install is not enough visually for me ... visual is everything.

You'll note maybe, that I also use a lot of separators.

I like everything very clear and well defined.

Are you not using the 4 space standard?

P.S. Some folk use 5 spaces.

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

I managed to complete the reworking of the BACKUP IMAGES code today, and it is enabled again, though it remains untested at this point.

I'll probably test the BACKUP IMAGES process next, and then finish the CLONE process code.

Then I should be ready to clone and test the whole thing, bar a few tweaks here and there ... and perhaps some bugfixing.

Some minor but important changes in the windows of the following screenshots (i.e. Backup options, Rename option). Other controls adjusted to suit.

Compare_2.png.b41243cb3a0188734d0751c6fb016696.png    KCF_setup_6.png.3b9ef9acd0f533dab48568988f95d59b.png

WARNING - The following download is still a work-in-progress and therefor incomplete. It may give errors or more likely not do all it says yet.

Kobo Cover Fixer.au3

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

2 hours ago, TheSaint said:

It is is already indented (4 spaces).

The (3 spaces) default of a basic SciTe install is not enough visually for me ... visual is everything.

You'll note maybe, that I also use a lot of separators.

I like everything very clear and well defined.

Are you not using the 4 space standard?

P.S. Some folk use 5 spaces.

Can we switch to TABs already? This post perfectly exhibits all of the issues with using spaces.

With TABs people can set the amount of indentation they prefer and it will work for ALL tabs.

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

Posted (edited)
1 hour ago, TheDcoder said:

Can we switch to TABs already? This post perfectly exhibits all of the issues with using spaces.

Bud, I was providing the number of spaces in the TABS I use ... get with the program. :P 

I can't believe you would think I spaced out those spaces for every line. :lol: 
And it would have only taken a quick look at one of my scripts to determine it was tabs at play. ;) 

Sometimes you really worry me. :muttley:

Indents.png.636bb2c671c5a2be52aeef4dd2f3d214.png

P.S. If I was to go with the defaults that SciTE uses, it would be an Indent Size of '3', which is too small for my liking. I'd rather go '5' than '3', but '4' is good enough, and a value I settled on many years ago ... probably because it was the default in GUIBuilder ... and I still use GUIBuilder.

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)
4 hours ago, TheSaint said:

It is is already indented (4 spaces).

It say 0 downloads at my upload, so you havent even seen it. :(

I use 4 spaces too.

What I mean with fixed your identation is this...(more in the download)

; CONTROLS
    $SS = $SS_CENTER + $SS_CENTERIMAGE + $SS_SUNKEN
    $Group_images = GuiCtrlCreateGroup("Ebook Images", 10, 10, 340, 458)
           $Pic_1 = GUICtrlCreatePic($pic_one, 20, 30, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_1, "Click to see selected cover full size!")
           $Pic_2 = GUICtrlCreatePic($pic_two, 130, 30, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_2, "Click to see selected cover full size!")
           $Pic_3 = GUICtrlCreatePic($pic_three, 240, 30, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_3, "Click to see selected cover full size!")
           $Pic_4 = GUICtrlCreatePic($pic_four, 20, 176, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_4, "Click to see selected cover full size!")
           $Pic_5 = GUICtrlCreatePic($pic_five, 130, 176, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_5, "Click to see selected cover full size!")
           $Pic_6 = GUICtrlCreatePic($pic_six, 240, 176, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_6, "Click to see selected cover full size!")
           $Pic_7 = GUICtrlCreatePic($pic_seven, 20, 322, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_7, "Click to see selected cover full size!")
           $Pic_8 = GUICtrlCreatePic($pic_eight, 130, 322, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_8, "Click to see selected cover full size!")
           $Pic_9 = GUICtrlCreatePic($pic_nine, 240, 322, 100, 136, $SS_NOTIFY)
                    GUICtrlSetTip   ($Pic_9, "Click to see selected cover full size!")
    ;
    $Group_detail = GuiCtrlCreateGroup("Clicked Image Detail", 10, 478, 340, 125)
        $Label_ID = GUICtrlCreateLabel("Image ID", 20, 498, 68, 20, $SS)
                    GUICtrlSetFont    ($Label_ID, 7, 600, 0, "Small Fonts")
                    GUICtrlSetBkColor ($Label_ID, $COLOR_BLACK)
                    GUICtrlSetColor   ($Label_ID, $COLOR_WHITE)
        $Input_ID = GUICtrlCreateInput("", 88, 498, 252, 20)
                    GUICtrlSetTip     ($Input_ID, "Selected ebook ID!")
    $Label_author = GUICtrlCreateLabel("AUTHOR", 20, 523, 68, 20, $SS)
                    GUICtrlSetFont    ($Label_author, 7, 600, 0, "Small Fonts")
                    GUICtrlSetBkColor ($Label_author, $COLOR_BLACK)
                    GUICtrlSetColor   ($Label_author, $COLOR_WHITE)
    $Input_author = GUICtrlCreateInput("", 88, 523, 252, 20)
                    GUICtrlSetTip     ($Input_author, "Selected ebook author!")
     $Label_title = GUICtrlCreateLabel("TITLE", 20, 548, 50, 20, $SS)
                    GUICtrlSetFont    ($Label_title, 7, 600, 0, "Small Fonts")
                    GUICtrlSetBkColor ($Label_title, $COLOR_BLACK)
                    GUICtrlSetColor   ($Label_title, $COLOR_WHITE)
     $Input_title = GUICtrlCreateInput("", 70, 548, 270, 20)
                    GUICtrlSetTip     ($Input_title, "Selected ebook title!")
        $Label_on = GUICtrlCreateLabel("DEVICE", 20, 573, 60, 20, $SS)
                    GUICtrlSetFont    ($Label_on, 7, 600, 0, "Small Fonts")
                    GUICtrlSetBkColor ($Label_on, $COLOR_RED)
                    GUICtrlSetColor   ($Label_on, $COLOR_WHITE)
        $Input_on = GUICtrlCreateInput("", 80, 573, 35, 20, $ES_CENTER)
                    GUICtrlSetTip     ($Input_on, "On the device status!")
     $Label_owned = GUICtrlCreateLabel("OWNED", 125, 573, 60, 20, $SS)
                    GUICtrlSetFont    ($Label_owned, 7, 600, 0, "Small Fonts")
                    GUICtrlSetBkColor ($Label_owned, $COLOR_GREEN)
                    GUICtrlSetColor   ($Label_owned, $COLOR_WHITE)
     $Input_owned = GUICtrlCreateInput("", 185, 573, 35, 20, $ES_CENTER)
                    GUICtrlSetTip     ($Input_owned, "Owned status!")
      $Label_subs = GUICtrlCreateLabel("SUBS", 230, 573, 50, 20, $SS)
                    GUICtrlSetFont    ($Label_subs, 7, 600, 0, "Small Fonts")
                    GUICtrlSetBkColor ($Label_subs, $COLOR_BLUE)
                    GUICtrlSetColor   ($Label_subs, $COLOR_WHITE)
      $Input_subs = GUICtrlCreateInput("", 280, 573, 60, 20, $ES_CENTER)
                    GUICtrlSetTip     ($Input_subs, "Sub-folder numbers!")
    ;
    $Button_prior = GuiCtrlCreateButton("RESTART", 10, 610, 90, 27)
                    GUICtrlSetFont     ($Button_prior, 8, 600)
                    GUICtrlSetTip      ($Button_prior, "Restart from the first lot of images!")
    ;
$Checkbox_preview = GUICtrlCreateCheckbox("Preview Image", 12, 640, 90, 20)
                    GUICtrlSetTip        ($Checkbox_preview, "Show larger image preview!")
    ;
     $Button_next = GuiCtrlCreateButton("NEXT", 110, 610, 60, 50)
                    GUICtrlSetFont     ($Button_next, 9, 600)
                    GUICtrlSetTip      ($Button_next, "View the next lot of images!")
    ;
      $Button_fld = GuiCtrlCreateButton("D", 180, 610, 50, 50, $BS_ICON)
                    GUICtrlSetTip      ($Button_fld, "Open the images folder!")
    ;
      $Button_inf = GuiCtrlCreateButton("Info", 240, 610, 50, 50, $BS_ICON)
                    GUICtrlSetTip      ($Button_inf, "Viewer Information!")
    ;
     $Button_quit = GuiCtrlCreateButton("EXIT", 300, 610, 50, 50, $BS_ICON)
                    GUICtrlSetTip      ($Button_quit, "Exit / Close / Quit the window!")

compared to yours...

; CONTROLS
    $Group_images = GuiCtrlCreateGroup("Ebook Images", 10, 10, 340, 458)
    $Pic_1 = GUICtrlCreatePic($pic_one, 20, 30, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_1, "Click to see selected cover full size!")
    $Pic_2 = GUICtrlCreatePic($pic_two, 130, 30, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_2, "Click to see selected cover full size!")
    $Pic_3 = GUICtrlCreatePic($pic_three, 240, 30, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_3, "Click to see selected cover full size!")
    $Pic_4 = GUICtrlCreatePic($pic_four, 20, 176, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_4, "Click to see selected cover full size!")
    $Pic_5 = GUICtrlCreatePic($pic_five, 130, 176, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_5, "Click to see selected cover full size!")
    $Pic_6 = GUICtrlCreatePic($pic_six, 240, 176, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_6, "Click to see selected cover full size!")
    $Pic_7 = GUICtrlCreatePic($pic_seven, 20, 322, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_7, "Click to see selected cover full size!")
    $Pic_8 = GUICtrlCreatePic($pic_eight, 130, 322, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_8, "Click to see selected cover full size!")
    $Pic_9 = GUICtrlCreatePic($pic_nine, 240, 322, 100, 136, $SS_NOTIFY)
    GUICtrlSetTip($Pic_9, "Click to see selected cover full size!")
    ;
    $Group_detail = GuiCtrlCreateGroup("Clicked Image Detail", 10, 478, 340, 125)
    $Label_ID = GUICtrlCreateLabel("Image ID", 20, 498, 68, 20, $SS_CENTER + $SS_CENTERIMAGE + $SS_SUNKEN)
    GUICtrlSetFont($Label_ID, 7, 600, 0, "Small Fonts")
    GUICtrlSetBkColor($Label_ID, $COLOR_BLACK)
    GUICtrlSetColor($Label_ID, $COLOR_WHITE)
    $Input_ID = GUICtrlCreateInput("", 88, 498, 252, 20)
    GUICtrlSetTip($Input_ID, "Selected ebook ID!")
    $Label_author = GUICtrlCreateLabel("AUTHOR", 20, 523, 68, 20, $SS_CENTER + $SS_CENTERIMAGE + $SS_SUNKEN)
    GUICtrlSetFont($Label_author, 7, 600, 0, "Small Fonts")
    GUICtrlSetBkColor($Label_author, $COLOR_BLACK)
    GUICtrlSetColor($Label_author, $COLOR_WHITE)
    $Input_author = GUICtrlCreateInput("", 88, 523, 252, 20)
    GUICtrlSetTip($Input_author, "Selected ebook author!")
    $Label_title = GUICtrlCreateLabel("TITLE", 20, 548, 50, 20, $SS_CENTER + $SS_CENTERIMAGE + $SS_SUNKEN)
    GUICtrlSetFont($Label_title, 7, 600, 0, "Small Fonts")
    GUICtrlSetBkColor($Label_title, $COLOR_BLACK)
    GUICtrlSetColor($Label_title, $COLOR_WHITE)
    $Input_title = GUICtrlCreateInput("", 70, 548, 270, 20)
    GUICtrlSetTip($Input_title, "Selected ebook title!")
    $Label_on = GUICtrlCreateLabel("DEVICE", 20, 573, 60, 20, $SS_CENTER + $SS_CENTERIMAGE + $SS_SUNKEN)
    GUICtrlSetFont($Label_on, 7, 600, 0, "Small Fonts")
    GUICtrlSetBkColor($Label_on, $COLOR_RED)
    GUICtrlSetColor($Label_on, $COLOR_WHITE)
    $Input_on = GUICtrlCreateInput("", 80, 573, 35, 20, $ES_CENTER)
    GUICtrlSetTip($Input_on, "On the device status!")
    $Label_owned = GUICtrlCreateLabel("OWNED", 125, 573, 60, 20, $SS_CENTER + $SS_CENTERIMAGE + $SS_SUNKEN)
    GUICtrlSetFont($Label_owned, 7, 600, 0, "Small Fonts")
    GUICtrlSetBkColor($Label_owned, $COLOR_GREEN)
    GUICtrlSetColor($Label_owned, $COLOR_WHITE)
    $Input_owned = GUICtrlCreateInput("", 185, 573, 35, 20, $ES_CENTER)
    GUICtrlSetTip($Input_owned, "Owned status!")
    $Label_subs = GUICtrlCreateLabel("SUBS", 230, 573, 50, 20, $SS_CENTER + $SS_CENTERIMAGE + $SS_SUNKEN)
    GUICtrlSetFont($Label_subs, 7, 600, 0, "Small Fonts")
    GUICtrlSetBkColor($Label_subs, $COLOR_BLUE)
    GUICtrlSetColor($Label_subs, $COLOR_WHITE)
    $Input_subs = GUICtrlCreateInput("", 280, 573, 60, 20, $ES_CENTER)
    GUICtrlSetTip($Input_subs, "Sub-folder numbers!")
    ;
    $Button_prior = GuiCtrlCreateButton("RESTART", 10, 610, 90, 27)
    GUICtrlSetFont($Button_prior, 8, 600)
    GUICtrlSetTip($Button_prior, "Restart from the first lot of images!")
    ;
    $Checkbox_preview = GUICtrlCreateCheckbox("Preview Image", 12, 640, 90, 20)
    GUICtrlSetTip($Checkbox_preview, "Show larger image preview!")
    ;
    $Button_next = GuiCtrlCreateButton("NEXT", 110, 610, 60, 50)
    GUICtrlSetFont($Button_next, 9, 600)
    GUICtrlSetTip($Button_next, "View the next lot of images!")
    ;
    $Button_fld = GuiCtrlCreateButton("D", 180, 610, 50, 50, $BS_ICON)
    GUICtrlSetTip($Button_fld, "Open the images folder!")
    ;
    $Button_inf = GuiCtrlCreateButton("Info", 240, 610, 50, 50, $BS_ICON)
    GUICtrlSetTip($Button_inf, "Viewer Information!")
    ;
    $Button_quit = GuiCtrlCreateButton("EXIT", 300, 610, 50, 50, $BS_ICON)
    GUICtrlSetTip($Button_quit, "Exit / Close / Quit the window!")

 

4 hours ago, TheSaint said:

I like everything very clear and well defined.

Well I would mean that mine is very clear and well defined compared to yours. :)

 

Edited by Werty

Some guy's script + some other guy's script = my script!

Link to comment
Share on other sites

Posted (edited)
58 minutes ago, Werty said:

It say 0 downloads at my upload, so you havent even seen it.

Didn't think I needed to, couldn't see how you could have improved upon what I already do.

58 minutes ago, Werty said:

What I mean with fixed your identation is this...

But now I see what you mean. So my mistake maybe. Perhaps you should have indicated 'Special Indenting'.

It has never occurred to me to do that (that I can recall). It isn't your usual indenting, like between an If and EndIf for example.

I will ponder it more, but I'm not sure I like it ... though it kind of has some visual appeal. I do admit it looks a bit easier to read too.

But I am also wondering how you got all those equals signs to line up? And the GUICtrlSetTip lines etc?
It seems to me you would have to manually make all that happen, and I'm not in favor of doing more work, especially of such a fiddly nature.
Unless you are running some kind of script to do that? Does Tidy do that perhaps?
I just use the vanilla install of SciTE .... SciTE Lite.

At the end of the day I try to keep it simple.

P.S. I use to use multiple semi-colon ;;;; to keep some things related together, like inside a Group, to help differentiate inclusiveness etc.

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)

I guess it wouldn't be too onerous to do it like the following ... just normal tabs.
I shall ponder further. I also wonder why I have never thought to do this before ... probably.

Indenting.png.cc4b7f0f9603264e098a88eb6de88038.png

I might just adopt that, it is just extra tabs after all ... and it looks better. :) 

Maybe you can teach an old dog new tricks. :muttley:

@Werty Thanks for giving me something else to think about. :lol: 

P.S. I could even call it ... to Wertify my code ... not to be confused with Certify. :lmao:

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Well each his taste, I like mine more, it was just a suggestion.

And yes, manual work was involved, and I gathered that you use a guibuilder that creates the mess, so probably too much work, but I like tidying up stuff manually. :)

Some guy's script + some other guy's script = my script!

Link to comment
Share on other sites

1 minute ago, Werty said:

Well each his taste, I like mine more, it was just a suggestion.

Indeed, and it might have borne some fruit, because I am liking my version of your indenting more and more as it grows on me.

I do seriously wonder why it seems to have never occurred to me before. Especially as most of my coding is by hand.
I generally only use GUIBuilder to get started, and everything is manual after that.

Maybe you have just made a lasting impression on my coding. :) 

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

3 hours ago, TheSaint said:

Bud, I was providing the number of spaces in the TABS I use ... get with the program. :P 

I can't believe you would think I spaced out those spaces for every line. :lol: 

Who said that you were manually tying spaces?

Perhaps you are unaware of the TAB character, no it's not just a shortcut key for N spaces. The real function of the "TAB" key is to insert a tabulation character, or just tab in short.

It's just a single character which takes up one byte and it is specifically built to represent spaces for indentation, so instead of having files littered with a fixed amount of spaces, you could use a TAB character and simply tell your text editor program to make your TABs as wide as 4 spaces or whatever the number of spaces you'd prefer.

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

On 6/4/2024 at 2:16 AM, TheDcoder said:

Who said that you were manually tying spaces?

Perhaps you are unaware of the TAB character, no it's not just a shortcut key for N spaces. The real function of the "TAB" key is to insert a tabulation character, or just tab in short.

It's just a single character which takes up one byte and it is specifically built to represent spaces for indentation, so instead of having files littered with a fixed amount of spaces, you could use a TAB character and simply tell your text editor program to make your TABs as wide as 4 spaces or whatever the number of spaces you'd prefer.

Bud, you are not really making any sense, not in the context of your earlier reply.

What the hell does any of that have to do with what Werty and I do in relation to setting indents and applying them?

I have the indent value set to 4, and use my TAB key where necessary to add them, though often they get automatically added by the editor (SciTE).

I take the simple approach, and I have no clue why you have an issue with that. It allows me to concentrate more on what I am developing.

That said, I can see the benefit of some aspects of what Werty does, so I might continue to do that little extra.

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)

Okay, aside from Wertifying my code somewhat, I tweaked the BACKUP IMAGES code some more, adding another query and several feedback and logging etc improvements and fixed a few bugs I discovered.

I was then able to fully test the code, and it worked well.

This is the compare window in action, which popped up now and then, but mostly wasn't needed.

Compare_live.png.7046dee85a138aec99c47e5c47e5e193.png

And this was the end result.

Compare_report.thumb.png.ed43705387f63d9a93ac3fb3712d82aa.png

So now I am ready to tackle the new CLONE button code, though not until tomorrow now.

Viewing that first screenshot, I am reminded that not only did I have several side-loaded ebooks that gave a shrunk picture within blank white picture, but that they are all gray scale for some reason. It seems side-loading them does that. No idea why? I could of course come up with a conspiracy reason, which is probably as good as any.

My other memory of side-loading ebooks to my Kobo device, is that the fonts or font doesn't display properly ... uses some overlarge default or something.

Anyway, we are getting there with my program and the end approaches.

P.S. As can be seen from the second screenshot, around a year ago I had 308 ebooks on my Kobo device. I imagine there is at least one to two hundred more now. I saw with a few purchases last night, that I now have just over 900 ebooks at Kobo, with those not downloaded to my device being free ebooks I have picked up now and then. Those free ebooks have come via emails from BookBub or been seen in passing at the Kobo store. I may get around to reading some of them, but probably not all, so will only copy them to my device when desired. The ebooks on my device, have either been paid for or are free ones for authors I follow specifically. Those not on the device yet, are from authors I don't yet follow and maybe never will, but their free ebook appealed to me in some way, so worth checking out if I ever get the chance.

P.S.S. My wife asked me the other day, to check something on her Kobo device, she has the smaller Clara HD. Anyway, while browsing it, I noticed quite a few of her ebooks were also missing covers. At this point I haven't given any thought to dealing with multiple devices with my program, but might have to come up with something. That last said, it would likely just be better to use another copy of my program in a different folder, it being fully portable after all. How often we would need or want to use my program remains to be seen. In all likelihood, every time I copy an ebook or three, at least one, perhaps all, will be missing covers or have a cover issue, depending on whether side-loaded or downloaded via Wifi. At this point I don't side-load often.

WARNING - The following download is still a work-in-progress and therefor incomplete. It may give errors or more likely not do all it says yet.

Kobo Cover Fixer.au3

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Posted (edited)
1 hour ago, TheSaint said:

What the hell does any of that have to do with what Werty and I do in relation to setting indents and applying them?

Nothing really, I was just expressing my frustration of seeing people use spaces in this age :muttley:

1 hour ago, TheSaint said:

I have no clue why you have an issue with that.

Bud tell me which character is the better choice for indentation

  1. A one byte character which is purpose made for indentation and adapts to the user's preferred length on any computer
  2. A character which is not made for indentation but for separating words, has a fixed length and doesn't give a damn about the user... plus it also takes an arbitrary no. of bytes depending a 3rd party's preference which is a mere approximation of good indentation according to their specific screen size. Also it requires a special editor which will insert the N of characters when you literally press the key for the correct character should've been used instead :muttley:
Edited by TheDcoder

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

57 minutes ago, TheDcoder said:

Nothing really, I was just expressing my frustration of seeing people use spaces in this age

Well bud, spaces will become a very desired commodity in the future of our overcrowded world. :P 

59 minutes ago, TheDcoder said:

Bud tell me which character is the better choice for indentation

Does it really matter bud?

All that matters for me, is that things are uniform and I get what I expect when I click return or tab.

What you seem to be talking about is quite esoteric and not something that seems worth worrying about, except if you are a person creating an editor program or somesuch.

I certainly don't understand why you bothered to bring it up in this topic, especially in the telling off kind of manner you did. :lol: 

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...