timetree-exporter


Nametimetree-exporter JSON
Version 0.3.1 PyPI version JSON
download
home_pageNone
SummaryA Tool for Exporting TimeTree Calendar and Convert to iCal format(.ics)
upload_time2024-07-17 16:30:43
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords timetree exporter icalendar ics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TimeTree Exporter

A Tool for Exporting TimeTree Calendar and Convert to iCal format(.ics) \
(The .ics file can then be imported into other calendar apps such as Google Calendar, Apple Calendar, Outlook Calendar, etc.)

## Usage

First, download the timetree data manually and put it in the responses folder(see below)

### Method 1: Pip

1. Install the package `pip3 install timetree-exporter`
2. Run `timetree-exporter <path-to-responses-folder>`
3. A timetree.ics file will be generated in the same directory, then you can import it to your calendar app.

### Method 2: Cloning the repository

1. Clone the repository `git clone https://github.com/eoleedi/TimeTree-exporter.git`
2. Change the directory to the project folder `cd TimeTree-exporter`
3. Install the requirements `pip3 install -r requirements.txt`
4. Run `python3 -m timetree_exporter responses`
5. A timetree.ics file will be generated in the same directory, then you can import it to your calendar app.

### How to download timetree data

1. Go to [https://timetreeapp.com/signin](https://timetreeapp.com/signin)
2. Open the developer tools before logging in
      > Can be opened by pressing F12
3. Go to the network tab
      > Remember to Press Ctrl + R to start recording
4. Turn on preserve log
5. Type in "sync" in the filter box
6. Log in
7. Click on the calendar you want to export
8. You will see couple of requests with the name "sync"
      > There seems to be a maximum of 300 events in single requests. \
      > If you have more than 300 events, you will see multiple requests with the name "sync"
9. Right click on the request and select "Copy Response"
10. Paste it into a json file under the response folder under this project (etc. sync.json)
      > The file name should end with .json
11. Do the same thing for all the requests with steps 7~10

![Prepare for signin: Step 1~5](https://github.com/eoleedi/TimeTree-exporter/raw/main/docs/assets/images/prepare-for-signin.png)
*Prepare for signin: Step 1~5*
![Copy response: Step 8~9](https://github.com/eoleedi/TimeTree-exporter/raw/main/docs/assets/images/copy-response.png)
*Copy response: Step 8~9*

## Advanced Usage

You can also specify the output file name by running `python3 -m timetree_exporter -o <output_file_name>.ics` or `timetree-exporter -o <output_file_name>.ics`

## Recommendation

You are recommended to import the ics file into a separate calendar (take google calendar as an example) as if anything goes wrong, you can just delete the calendar and reimport it.

## Requirements

icalendar==5.0.12

## Limitations

1. Currently, TimeTree data can only be downloaded manually through a web browser.
2. Alarms(Alerts) can't be imported to Google Calendar through iCal format due to Google's bug.

## Support

If you think it's helpful, kindly support me!

[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/eoleedi)

## Roadmap of the properties mapping to iCal

- [ ] **ID**
- [ ] **Primary ID**
- [ ] **Calendar ID**
- [x] **UUID**
- [x] **Category**
- [x] **Type**
- [ ] **Author ID**
- [ ] **Author Type**
- [x] **Title**
- [x] **All Day**
- [x] **Start At**
- [x] **Start Timezone**
- [x] **End At**
- [x] **End Timezone**
- [ ] **Label ID**
- [x] **Location**
- [x] **Location Latitude**
- [x] **Location Longitude**
- [x] **URL**
- [x] **Note**
- [ ] **Lunar**
- [ ] **Attendees**
- [x] **Recurrences**
- [ ] **Recurring UUID**
- [x] **Alerts**
- [x] **Parent ID**
- [ ] **Link Object ID**
- [ ] **Link Object ID String**
- [ ] **Row Order**
- [ ] **Attachment**
- [ ] **Like Count**
- [ ] **Files**
- [ ] **Deactivated At**
- [ ] **Pinned At**
- [x] **Updated At**
- [x] **Created At**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "timetree-exporter",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "timetree, exporter, icalendar, ics",
    "author": null,
    "author_email": "Fong-Chun Tsai <eoleedimin@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/87/66/4ec302b2d7d3495cfb40d6a631ab8756e2f07e7698720f490f60aaecf542/timetree_exporter-0.3.1.tar.gz",
    "platform": null,
    "description": "# TimeTree Exporter\n\nA Tool for Exporting TimeTree Calendar and Convert to iCal format(.ics) \\\n(The .ics file can then be imported into other calendar apps such as Google Calendar, Apple Calendar, Outlook Calendar, etc.)\n\n## Usage\n\nFirst, download the timetree data manually and put it in the responses folder(see below)\n\n### Method 1: Pip\n\n1. Install the package `pip3 install timetree-exporter`\n2. Run `timetree-exporter <path-to-responses-folder>`\n3. A timetree.ics file will be generated in the same directory, then you can import it to your calendar app.\n\n### Method 2: Cloning the repository\n\n1. Clone the repository `git clone https://github.com/eoleedi/TimeTree-exporter.git`\n2. Change the directory to the project folder `cd TimeTree-exporter`\n3. Install the requirements `pip3 install -r requirements.txt`\n4. Run `python3 -m timetree_exporter responses`\n5. A timetree.ics file will be generated in the same directory, then you can import it to your calendar app.\n\n### How to download timetree data\n\n1. Go to [https://timetreeapp.com/signin](https://timetreeapp.com/signin)\n2. Open the developer tools before logging in\n      > Can be opened by pressing F12\n3. Go to the network tab\n      > Remember to Press Ctrl + R to start recording\n4. Turn on preserve log\n5. Type in \"sync\" in the filter box\n6. Log in\n7. Click on the calendar you want to export\n8. You will see couple of requests with the name \"sync\"\n      > There seems to be a maximum of 300 events in single requests. \\\n      > If you have more than 300 events, you will see multiple requests with the name \"sync\"\n9. Right click on the request and select \"Copy Response\"\n10. Paste it into a json file under the response folder under this project (etc. sync.json)\n      > The file name should end with .json\n11. Do the same thing for all the requests with steps 7~10\n\n![Prepare for signin: Step 1~5](https://github.com/eoleedi/TimeTree-exporter/raw/main/docs/assets/images/prepare-for-signin.png)\n*Prepare for signin: Step 1~5*\n![Copy response: Step 8~9](https://github.com/eoleedi/TimeTree-exporter/raw/main/docs/assets/images/copy-response.png)\n*Copy response: Step 8~9*\n\n## Advanced Usage\n\nYou can also specify the output file name by running `python3 -m timetree_exporter -o <output_file_name>.ics` or `timetree-exporter -o <output_file_name>.ics`\n\n## Recommendation\n\nYou are recommended to import the ics file into a separate calendar (take google calendar as an example) as if anything goes wrong, you can just delete the calendar and reimport it.\n\n## Requirements\n\nicalendar==5.0.12\n\n## Limitations\n\n1. Currently, TimeTree data can only be downloaded manually through a web browser.\n2. Alarms(Alerts) can't be imported to Google Calendar through iCal format due to Google's bug.\n\n## Support\n\nIf you think it's helpful, kindly support me!\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/eoleedi)\n\n## Roadmap of the properties mapping to iCal\n\n- [ ] **ID**\n- [ ] **Primary ID**\n- [ ] **Calendar ID**\n- [x] **UUID**\n- [x] **Category**\n- [x] **Type**\n- [ ] **Author ID**\n- [ ] **Author Type**\n- [x] **Title**\n- [x] **All Day**\n- [x] **Start At**\n- [x] **Start Timezone**\n- [x] **End At**\n- [x] **End Timezone**\n- [ ] **Label ID**\n- [x] **Location**\n- [x] **Location Latitude**\n- [x] **Location Longitude**\n- [x] **URL**\n- [x] **Note**\n- [ ] **Lunar**\n- [ ] **Attendees**\n- [x] **Recurrences**\n- [ ] **Recurring UUID**\n- [x] **Alerts**\n- [x] **Parent ID**\n- [ ] **Link Object ID**\n- [ ] **Link Object ID String**\n- [ ] **Row Order**\n- [ ] **Attachment**\n- [ ] **Like Count**\n- [ ] **Files**\n- [ ] **Deactivated At**\n- [ ] **Pinned At**\n- [x] **Updated At**\n- [x] **Created At**\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Tool for Exporting TimeTree Calendar and Convert to iCal format(.ics)",
    "version": "0.3.1",
    "project_urls": {
        "Changelog": "https://github.com/eoleedi/TimeTree-exporter/blob/main/CHANGELOG.md",
        "Homepage": "https://github.com/eoleedi/TimeTree-Exporter",
        "Issues": "https://github.com/eoleedi/TimeTree-Exporter/issues",
        "Repository": "https://github.com/eoleedi/TimeTree-Exporter"
    },
    "split_keywords": [
        "timetree",
        " exporter",
        " icalendar",
        " ics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2541ab303b60e13c576e89b0576d21bffa877b107792e42b8bf7c557b8305d1a",
                "md5": "a6cf082a5e558f4c8c9f84c23a5f5c89",
                "sha256": "572c4d3ddcb28fa1cc117003408d592d493b5a070fcd0bf06d97cccb504e5e97"
            },
            "downloads": -1,
            "filename": "timetree_exporter-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a6cf082a5e558f4c8c9f84c23a5f5c89",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 8870,
            "upload_time": "2024-07-17T16:30:42",
            "upload_time_iso_8601": "2024-07-17T16:30:42.127471Z",
            "url": "https://files.pythonhosted.org/packages/25/41/ab303b60e13c576e89b0576d21bffa877b107792e42b8bf7c557b8305d1a/timetree_exporter-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "87664ec302b2d7d3495cfb40d6a631ab8756e2f07e7698720f490f60aaecf542",
                "md5": "f5326a0aec026c461bdc8a08793f022b",
                "sha256": "1898ab225f8536eea7dfc88b8e5ab08b93eeefd6e73dce8dd4df92025c2616fc"
            },
            "downloads": -1,
            "filename": "timetree_exporter-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f5326a0aec026c461bdc8a08793f022b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 689203,
            "upload_time": "2024-07-17T16:30:43",
            "upload_time_iso_8601": "2024-07-17T16:30:43.430771Z",
            "url": "https://files.pythonhosted.org/packages/87/66/4ec302b2d7d3495cfb40d6a631ab8756e2f07e7698720f490f60aaecf542/timetree_exporter-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-17 16:30:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "eoleedi",
    "github_project": "TimeTree-exporter",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "timetree-exporter"
}
        
Elapsed time: 0.47452s