![]() |
#136 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,268
Karma: 7955525
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
|
Quote:
And as long as we are off-topic, (0.7.35) search/replace now permits you to provide an arbitrary template as the input field. You choose the input field '{template}' and a line edit box will appear for you to enter whatever you want, including expressions in the new template programming language. You can then apply regexps to that information. Using this, you can create a custom input field that contains bits from various other fields, massage them, then use the result to set a writable field. |
|
![]() |
![]() |
#137 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,130
Karma: 91256
Join Date: Feb 2008
Location: Germany
Device: Cybook Gen3
|
Those are some good changes.
|
![]() |
![]() |
#138 |
Calibre Plugins Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,701
Karma: 2197768
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Thanks chaley for the info, that is nice to know about the pasting series name only. Would never have figured that out without you mentioning it - my "guess" would have been that it would have given it the next numbered sequence for that new series name but that sounds much better.
The other reason not mentioned that I did not automatically post the plugin was that some of my perceived limitations in existing functionality in the tag viewer/bulk metadata dialog will perhaps disappear over time. For instance I think it would be fairly easy to change the tag viewer code so that instead of clearing the search after making a change it researches and retains selections (as my plugin and the bulk metadata dialog does). It should also scroll to make your last selection clicked on visible within the tag viewer itself - try working your way down say the tag list of authors or series to do multiple renames and you will see how much extra effort in scrolling, clicking and hunting is currently required. I know it is probably way too late for this but it would have been nice if the set_series_name function did not require square brackets around the series index, and just took the last digits (\s+\d+) as the series index. So I could type "Doom 1" rather than "Doom [1]". If that is too controversial even automatically adding a closing ] bracket would improve things, that way you could hit backspace from the end of the line, change the number and hit enter. Right now if you accidentally leave out a bracket you end up with a mess that becomes the series name with a series index of 1. ![]() Like the search/replace changes too btw, sounds very powerful. |
![]() |
![]() |
#139 | |
Connoisseur
![]() ![]() ![]() ![]() ![]() Posts: 54
Karma: 442
Join Date: Oct 2010
Location: Detroit
Device: iPad
|
Quote:
http://calibre-ebook.com/user_manual/template_lang.html |
|
![]() |
![]() |
#140 |
Junior Member
![]() Posts: 5
Karma: 10
Join Date: Dec 2010
Location: Chennai, India
Device: adam
|
Hi,
I find a need to improvize the following plugins in the calibre to make it even greater! 1. Improving metadata download plugin "IsbnDB 1.0.0" by Kovid Goyal : ISBNdb site has more additional book info like Classification, Subject, Book details (language,total pages), Similar books, Buying info, Library entry etc. How to fetch these info in the fetching plugin ? 2. Improving Catalog generator plugin "CSV/XML catalog generator" by Greg Riker: How to provide choice for the end-user to include some of the custom columns that I created (under preferences/interface/add own columns) and exclude some default columns (say if I don't need Author, Title, Rating, Tags etc) in the catalog generation? 3. Improving User Interface Action plugin "Edit Metadata" by Kovid Goyal: As soon as we add books (without proper metadata/cover) manually into library, can we have an option to preview (with zoom,scroll,select text) the book inside eidt metadata window itself ?. This would help user to take look at the first few pages to identify exact book title and ISBN, and then enter them manually all inside one window. Also, "Read Pdf metadata" plugin can be modified to get ISBN from within pdf (for this,maybe,an autosearch for text "ISBN ____" inside pdf within first few pages is enough ?!) Although, my programming skills can hardly help my interest to build new plugins, Iam interested in learning python and wonder if i can understand and customize existing plugins, if made available. I wouldlike to contribute in some way and be a part of this beautiful and true service-minded project of calibre. Many thanks to Kovid and his supporters for their great job over years. I hope for some reply. Thanks for reading.. |
![]() |
![]() |
#141 | |
Calibre Plugins Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,701
Karma: 2197768
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Quote:
IMHO I think you are in for a tough road with the sort of changes you want to make unless you only intend to make them to your own source code for your own use. I believe they require extremely non-trivial changes to Calibre to implement, and if you want them to be available to other users by submitting as a patch then you will also have to get Kovid to agree to them first. If that is your goal then I would suggest you begin a dialog with him by opening feature request tickets in the bug tracker for each and seeing what he thinks of your ideas. If on the other hand you just want to play with learning Python and tweak the program to your needs then by all means go for it. However I would suggest you might be in for a world of hurt with regards to merging in enhancements the Calibre developers themselves make in those areas over time. User created plugins work great for adding new functionality, such as supporting a new xxx feature, device, source, output, etc. However while the features you want to change are indeed implemented as "plugins" within Calibre they are so core to Calibre they have considerable additional suporing infrastructure and I would suggest are not designed to be "end user replaceable". That is not a criticism of the Calibre code, it is just the nature of what those features are and the issues you would face with trying to write in such a way that your own plugins could be made available as a download (like the ones in this thread) to "replace" the Calibre provided ones. |
|
![]() |
![]() |
#142 |
Junior Member
![]() Posts: 5
Karma: 10
Join Date: Dec 2010
Location: Chennai, India
Device: adam
|
Things to keep in mind before customizing plug-ins.
Thanks for the reply..So nice of you
![]() I fully agree with u on the fact that the enhancements (so I think !) I seek may or may not ![]() However I only intend to retain all the features that exists now, if at all, I tweak with the code myself ![]() You are right that my plugins (if at all I create) may not be compatible with revisions of default ones of calibre versions that may follow...However, a glimmer of hope ![]() Thanks to your suggestion, I have contacted Mr.Kovid on these by a private mail, and hoping for a reply ![]() ![]() Thanks a lot, once again. ![]() |
![]() |
![]() |
#143 | |
Member
![]() Posts: 10
Karma: 10
Join Date: Dec 2010
Location: China
Device: none
|
Quote:
But this plugin doesn't work on my system.Here is the info. Error message: Traceback (most recent call last): File "/usr/lib/calibre/calibre/gui2/main.py", line 251, in initialize self.initialize_db() File "/usr/lib/calibre/calibre/gui2/main.py", line 232, in initialize_db self.initialize_db_stage2(db, None) File "/usr/lib/calibre/calibre/gui2/main.py", line 201, in initialize_db_stage2 self.start_gui() File "/usr/lib/calibre/calibre/gui2/main.py", line 156, in start_gui main.initialize(self.library_path, self.db, self.listener, self.actions) File "/usr/lib/calibre/calibre/gui2/ui.py", line 134, in initialize ac.do_genesis() File "/usr/lib/calibre/calibre/gui2/actions/__init__.py", line 91, in do_genesis self.genesis() File "<string>", line 45, in genesis File "<string>", line 62, in read_icon_resources File "/usr/lib/calibre/calibre/gui2/actions/__init__.py", line 133, in load_resources with ZipFile(self.plugin_path, 'r') as zf: AttributeError: ZipFile instance has no attribute '__exit__' zsh: terminated calibre OS:Gentoo Python version:2.6.6-r1 and 3.1.2-r4 Calibre version:0.7.35 Working plugins:add/remove to/from user category,open epub in editor. Since I know little about Python language,I can't figure out the problem.Instead,I managed to modify open_epub_in_editor plugin to open pdf format with custom viewer.It works fine for me.But it's just a temporary solution. |
|
![]() |
![]() |
#144 | ||
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,268
Karma: 7955525
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
|
Quote:
![]() When doing individual edits (not bulk 'manage' edits), the tag browser now tries much harder to reposition at the same place in the tags list. This is not the same item, as it could have moved because of resorting, and I thought that given the use case, you wanted to be where you were. It fails if you are working with the last item in a list and you delete it, because the position no longer exists. Selections are maintained in the library, although I am not sure why this is important. Unlike with plugins, selections play no role in item editing on the tag browser. Quote:
|
||
![]() |
![]() |
#145 |
creator of calibre
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 44,996
Karma: 27109258
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
@darrenlee: You need to update your system python or use a calibre binary install
|
![]() |
![]() |
#146 | ||
Calibre Plugins Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,701
Karma: 2197768
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Quote:
![]() It is definitely more user friendly imho. The point about selection being maintained is just a nicety to ensure that if you did have a lot of books visible and had been looking at one well down the list triggering your decision to do an action in the tag viewer that you don't have to "find where you were up to" again. There is one last action missing that would pretty much make my plugin redundant (albeit at the expense of it still taking an extra click or two). That is locating and scrolling to an item in the tag viewer. It was actually an idea I had for a GUI plugin. Something like: Show in tag viewer -> Author -> Series -> Publisher When you have thousands of series/authors etc it can still be a bit of a faff to locate the right group to do the renaming, particularly if you also have multiple custom groups that are open etc. So if I am on a book in the grid and want to rename the series, I could r/c Show in tag viewer -> Series, have the tag viewer pop open if not visible, expand the series node and scroll to ensure that series name is visible. I know that treeview is used rather "uniquely" in that it does not show selections currently so not sure if you can visibly highlight the correct row but at least bringing it on screen would be a huge timesaver. What do you think? Quote:
The other suggestion I had was the closing bracket. In other words currently if you type "Clap of Doom 1 [2" and hit enter you end up with a mess of "Clap of Doom 1 [2 [1]" . Could it not at least detect that I did not end the series with "]" and add that in for me. That would mean you could just backspace over the last bracket (or select with the mouse from the number onwards), retype the number and hit enter. I just find the square brackets a *pita* from an editing point of view particularly when renumbering a large series that a couple of minor tweaks could make it less "picky" and easier to use. ![]() |
||
![]() |
![]() |
#147 | |
Member
![]() Posts: 10
Karma: 10
Join Date: Dec 2010
Location: China
Device: none
|
Quote:
Python 2.7 has been masked in gentoo portage.I don't know what effect I would get to my gentoo system if Python was upgraded from 2.6 to 2.7.A lot of packages depend on it. Also,I don't think installing a binary package on a source-compiling system is a good idea. BTW,@kovidgoyal,I really appreciate your work on Calibre.It helps me a lot when managing a large amount of ebooks. |
|
![]() |
![]() |
#148 |
US Navy, Retired
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 9,882
Karma: 13806776
Join Date: Feb 2009
Location: North Carolina
Device: Icarus Illumina XL HD, Kindle PaperWhite SE 11th Gen
|
@kiwidude Being ignorant of python, my attempt to alter existing plugins to open the cover.jpg file in an external editor was unsuccessful. If you find the time I would greatly appreciate such a plugin. If it could somehow be incorporated into the Open Format Externally plugin that would be great.
Thanks for all the work you've done thus far on GUI plugins. ![]() ![]() Last edited by DoctorOhh; 12-30-2010 at 06:58 AM. |
![]() |
![]() |
#149 | |
Calibre Plugins Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,701
Karma: 2197768
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Quote:
|
|
![]() |
![]() |
#150 |
US Navy, Retired
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 9,882
Karma: 13806776
Join Date: Feb 2009
Location: North Carolina
Device: Icarus Illumina XL HD, Kindle PaperWhite SE 11th Gen
|
|
![]() |
![]() |
Thread Tools | Search this Thread |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Custom external commands in the GUI | janvanmaar | Calibre | 18 | 11-28-2010 10:35 AM |
Calibre GUI behavior between machines | phenomshel | Calibre | 2 | 08-21-2010 06:28 PM |
Calibre 0.6.10 GUI crashes on startup | Wagenius | Calibre | 1 | 09-03-2009 01:53 AM |
--breadth-first option in calibre GUI | osmo79 | Calibre | 1 | 05-30-2009 11:45 AM |
Calibre GUI crash on convert | aapezzuto | Calibre | 1 | 08-02-2008 06:39 PM |