/chicraccoon

a set of utilities for managing Sharp electronic notebook backup files

Primary LanguagePythonMIT LicenseMIT

Sharp electronic notebooks

Sharp electronic notebooks ("enote") are extremely inexpensive pocket-sized devices designed for note-taking. More information about them is available on Sharp's website (Japanese) or on this unofficial English website.

Although Sharp provides a Windows-only utility that can be used to interface with the notebook, it can only either export notes as BMPs (a cumbersome process that can only be applied to one notebook at a time, and loses metadata/layer separation in the process) or create opaque backups of the entire device in Sharp's proprietary that cannot be viewed with the utility.

The doc/ folder in this repository contains some information about this backup format, obtained by reverse-engineering.

Chicraccoon

Chicraccoon is a set of utilities for working with the backup files generated by the electronic notebooks. Note that the Windows utility is not required to actually generate the backups --- generation is initiated on the notebook, and backups can then be copied from the BACKUP folder on the notebook when it is connected to a computer.

Chicraccoon has been developed with the WG-S30 model in mind and only tested with backup files generated by this model. Some components will likely fail on backups generated by older models, because they'll be looking for things that aren't there. If you have an older model and would like Chicraccoon to support it, let me know and we'll figure something out.

Command-line scripts

  • chicraccoon_cli is a utility for analysis of .bkup files. It can list the contents of a .bkup file, extract files from them, and, when extracting images, can also optionally convert them to standard image formats like PNG or BMP.

  • chicraccoon_sync is a utility that can maintain a local copy of your electronic notebook's state. You give it a backup, and it copies & converts all the files to a folder on your computer and creates a bunch of HTML files that let you navigate your notes from a computer (screenshots). After an initial synchronization, all further synchronizations will only update files that were changed in the new backup.

Programming interfaces

  • EnoteBackup is a class that operates on .bkup files. It can open one, list the files contained in it and extract them. There's a function that attempts to replace a file, but it currently doesn't work as the resulting backups fail some validity check on the notebook.

  • EnoteImage is a class that operates on images stored in .RAW files inside the backups. It can extract all the layers from an image and convert them to PIL Images, which can later be saved in any format supported by PIL or processed.

Requirements & installation

Chicraccoon requires Python 3 and two Python libraries: Pillow (for image processing) and Jinja2 (for HTML generation).

Running pip install . in the root of this repository should install all of the requirements as well. This package is not currently available on pip.

License & authorship

Chicraccoon is licensed under the terms of the MIT License.

Chicraccoon was developed by Aleksejs Popovs (aleksejs@popovs.lv). I am not affiliated with Sharp, and this project is not supported or approved by Sharp in any manner.