Git Product home page Git Product logo

codex's People

Contributors

jscholes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

codex's Issues

msvcr100.dll not found on new Windows 10 installation

I'm a Linux user running Windows 10 in a VM in part so I can use Codex. Unfortunately, launching Codex fails because msvcr100.dll can't be found.

Google led me to the Visual C redistributable runtime, which I installed just in case that was the issue. Nothing changed. I then placed c:\windows\system32\msvcr100.dll in the Codex app directory, which gave me a runtime error with an obscure hex code.

I'm not really a Windows person, so I don't know if there's an obvious fix, or if having the hex code in the runtime error would help. I can try getting it to you if so--I don't have cut-and-paste working between the VM and host at the moment, which is why I haven't included it directly.

Overall the Win10 installation seems stable and hasn't given me any other issues, so I'm wondering if perhaps I need a specific version of msvcr100.dll installed? Again, I'm not a Windows person, but I recall having at least half a dozen installed at one point. I don't know if each of those was actually in use, or if the older versions were just artifacts of the package installation system.

This is a brand new installation as of yesterday onto a blank VM drive, with all updates applied.

Thanks for your help.

Improve management and surfacing of errors when adding conversions

At present, errors are raised when a conversion is added to the queue. But given the new intended workflow whereby options are chosen per conversion, this doesn't make much sense. For example:

  • The error message informing a user that a filetype is not supported is only shown once an output format has been chosen. The error should be shown upfront.
  • An error message is shown when a file has already been added, but this should be extended so that users can add multiple instances of the same file with different conversion options.
  • When adding multiple files from a directory, errors are detected but not surfaced for the user. A method of summarising any errors should be provided which a user can review before choosing their conversion options.

cannot convert epub and chm files

Hi,

recently I instaled a codex to 64-bit w10 machine. when I tried to convert some files, a codex has shown an error. a log and source file is attached. as I understand, there can be unicode error?

thx.

regards, Jožef
codex error.zip

Smart punctuation

Hi James, For the benefit of Braille readers, would you mind including the --unsmarten-punctuation option. For speech users it makes no difference whatsoever, but for those of use who use Braille notetakers to read ebooks, smart punctuation is translated as garbage. Using the option manually in Calibre solves the problem. Great program!

False positive detection of protected PDFs

Occasionally, when converting an unprotected PDF file, the calibre DeDRM plug-in will report a failure to remove the non-existent DRM. Codex currently detects this and subsequently adds the PDF to the failed conversions list, even though it could probably be converted successfully.

Initial GUI cleanup

As preparation for some upcoming changes (including the necessity to specify output options on a per-input-file basis), the main window should be cleaned up to minimise the number of tab-stops. Specifically:

  • The "Tools" and "Help" buttons should be exchanged for actual menus in the main window's menu bar.
  • The "Launch Calibre environment" button should be moved into the Tools menu.
  • The "Options" and "Exit" buttons should be moved into a new File menu.
  • The "Add files..." and "Add folder..." button should be given corresponding options within the File menu, above "Options..." and "Exit".
  • A single "Add" button should appear next to the "Files" list. When activated, it should pop up a menu with the "Add files..." and "Add folder..." options.
  • The word "folder" should be exchanged for "directory" in all instances.
  • The "Add files..." and "Add directory..." options in the File menu should be given convenient accelarators: Ctrl+O and Ctrl+D, respectively.
  • The "Convert" and "Remove DRM" buttons should be disabled until the Files list contains at least one item.

Allow conversion options to be specified per file/directory

To facilitate different conversion backends which can accept multiple input formats and produce multiple output ones, conversion options must be stored per file. This includes the output format, destination directory and filename, any additional preferences such as calibre options, etc.

Tasks

  • Convert the files list box to a list view, initially with a single column showing the same information as is shown currently (the file path).
  • Add an "Output format" column to the list view, initially displaying the value selected in the dropdown in the main window for all files.
  • Store the selected output format from the dropdown for each file to be converted; initially it will be the same.
  • Replace the "Remove DRM" button with a "Remove DRM only" output format.
  • Replace the output format dropdown with a "Conversion Options" dialog, which only displays the output format dropdown to begin with and is only shown for added files and not directories. The chosen output format should be used for each added file.
  • Display the "Conversion Options" dialog when adding a directory. For now, the options will only apply for all files in the directory; a UI for specifying per-file options for an entire directory is out of scope.
  • Address error-surfacing-related concerns as per #10.
  • Add a read-only edit field in the Conversion Options dialog which lists the files to be converted and is the initial keyboard focus target.
  • If no valid files could be added for conversion, decide on the best strategy to surface that fact such as:
    • show the errors and then just return to the Conversions list; or
    • show an error message stating that no valid files could be added and then return to the Conversions list once the user presses "OK".
  • Copy conversion-related options from the main "Options" dialog to "Conversion Options" so that they can be customised.
  • Hide more advanced conversion options (e.g. whether or not to strip smart punctuation or additional ebook-convert args) behind a disclosure-style button.
  • Show the new "Conversion Options" dialog When only a path is passed in via the command line with no specified format.
  • Update shell integration to use the new "copy" output format for the "Remove DRM" menu option.
  • Remove the -r/--remove-drm-only command line option; there will now be an alias to be passed to -f/--format instead.

Disclosure Buttons in wxPython

Base Custom Accessibility Object

The below subclass will give the button the necessary accessible states. Additional code needs to be implemented to toggle from collapsed to expanded, and it is yet to be determined whether any accessibility events need to be fired after changing the state. Ultimately this should be encapsulated as its own custom widget.

class DisclosureButtonAccessible(wx.Accessible):
    def GetState(self, childId):
        state = wx.ACC_STATE_SYSTEM_COLLAPSED|wx.ACC_STATE_SYSTEM_FOCUSABLE
        if self.GetWindow().HasFocus():
            state = state|wx.ACC_STATE_SYSTEM_FOCUSED
        return (wx.ACC_OK, state)
Attach the Accessibility Object to the Button
aButton = wx.Button(...)
aButtonA11y = DisclosureButtonAccessible()
aButton.SetAccessible(aButtonA11y)

Implement a means of forcing the shell integration to be reloaded

As changes are made to the way Codex works, the command line interface will undoubtedly change with it. In addition, when multiple conversion backends are supported it may no longer be logical to present the same in-shell menu options as are currently present. In those circumstances, there must be a reliable way of forcing the shell integration to be refreshed upon startup.

Latest Codex version fails to convert Kindle books downloaded from Kindle version 1.24

I am running both the latest Windows 10, the latest Codex, and the 1.24 iteration of the Kindle software (removed 1.25 and re-installed 1.24). I got errors when trying to convert files on 56 of 57 files (only the singular .mobi file I have actually converted properly. From the logs, it appears that there are errors in Python code,though they look more like programmatic errors rather than something that's user generated. I'll attach the log here as well so that you can see it. Advice would be appreciated. Thanks.
codex2.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.