Skip to content

V4.0.0 beta release #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
032f919
bumped versions of pub packages
Xentraxx Apr 23, 2025
2b6f403
included file_picker_desktop locally
Xentraxx Apr 23, 2025
916071c
making lint happy
Xentraxx Apr 23, 2025
f4f213c
added changelog and some todos
Xentraxx Apr 23, 2025
df24573
added TODOs to look into
Xentraxx Apr 23, 2025
4dbb42b
Wrote basic logic for writing exif data
Xentraxx Apr 23, 2025
43d8004
removed file_picker locally and applied some fixes
Xentraxx Apr 24, 2025
1076547
added flag "write-exif" flag
Xentraxx Apr 24, 2025
671ecde
fixed tests
Xentraxx Apr 24, 2025
b41c25e
fixed tests so they work on windows locally
Xentraxx Apr 24, 2025
e84498a
fix
Xentraxx Apr 24, 2025
78c4bfb
Gave project more structure
Xentraxx Apr 24, 2025
3a4eebb
Steps fix
Xentraxx Apr 24, 2025
9a3d19d
Unit tests and fixes
Xentraxx Apr 24, 2025
3ff7b66
added more tests and fixed logic error
Xentraxx Apr 24, 2025
8ecebb3
changes to output and linter
Xentraxx Apr 24, 2025
ab1c690
ran dart fix --apply
Xentraxx Apr 24, 2025
5046cdc
Made the CLI menu more readable when terminal is small
Xentraxx Apr 24, 2025
a7d31c8
added counter for successfully set datetime in exif data to display a…
Xentraxx Apr 24, 2025
c71b7f0
improved logging for exif write
Xentraxx Apr 24, 2025
2b31faa
Version 4.0.0 - release candidate
Xentraxx Apr 25, 2025
6d6e8a6
wrote test and changed identification of file type
Xentraxx Apr 25, 2025
8c8d348
added more unit tests
Xentraxx Apr 25, 2025
952e52c
upgraded versions, switched to Exif_reader package and fixed ouput
Xentraxx Apr 25, 2025
bda3cd6
Update CHANGELOG.md
Xentraxx Apr 25, 2025
cdff66a
Edited Changelog and added Todo
Xentraxx Apr 25, 2025
53a5608
Added support for extracting CreationDateTime exif data from .mov and…
Xentraxx Apr 25, 2025
f377471
v. 4.0.0 RC2
Xentraxx Apr 25, 2025
c9e661b
Added log level
Xentraxx Apr 26, 2025
81f18a9
small fixes
Xentraxx Apr 26, 2025
f8a4784
Made stats more readable
Xentraxx Apr 26, 2025
2800029
refactored exif_extractor
Xentraxx Apr 26, 2025
009753d
Fixed heap corruption
Xentraxx Apr 26, 2025
26b7ed9
Fixed heap corruption
Xentraxx Apr 27, 2025
d6e542e
changed print back to log
Xentraxx Apr 27, 2025
e065e0f
Added verbose mode
Xentraxx Apr 27, 2025
f56c3d7
copy paste mistake fixed :D
Xentraxx Apr 27, 2025
14e7f21
Changed user output
Xentraxx Apr 27, 2025
005a445
Added logging of elapsed time
Xentraxx Apr 27, 2025
f668c01
fixed confusing output
Xentraxx Apr 27, 2025
fda7926
Exposed the maxFileSize flag as an argument to set if necessary, It's…
Xentraxx Apr 27, 2025
637cbeb
Checking if ffprobe is installed only once
Xentraxx Apr 27, 2025
45c249c
added a log
Xentraxx Apr 28, 2025
0d4953e
added documentation in changelog
Xentraxx Apr 28, 2025
00c273e
createShortcutWin() back to ffi/win32
Xentraxx Apr 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,7 @@ photos/
ALL_PHOTOS/
output/
*.log
pubspec.lock
/*.jpg
/*.json
/Vacation
213 changes: 213 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,8 @@ https://github.com/vHanda/google-keep-exporter
Yeah, the whole thing got re-written in Dart, and now it's way more stable and faster. If you still want Python for some reason, check out v2.x - in releases/tags

### TODO (Pull Requests welcome):
- [ ] GPS data: from JSON to Exif - ~~Thank you @DalenW 💖~~ still thank you, but it is now missing in the Dart version
- [ ] Writing data from `.json`s back to `EXIF` data
- [x] GPS data: from JSON to Exif - ~~Thank you @DalenW 💖~~ - Implemented by @Xentraxx
- [x] Writing data from `.json`s back to `EXIF` data - Implemented by @Xentraxx
- [x] Some way to handle albums - THANK YOU @bitsondatadev 😘 🎉 💃
- [ ] Bringing back interactive unzipping
- [ ] Integrating upload to Nextcloud
126 changes: 118 additions & 8 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,124 @@ include: package:lints/recommended.yaml

# Uncomment the following section to specify additional rules.

# linter:
# rules:
# - camel_case_types

# analyzer:
# exclude:
# - path/to/excluded/files/**

linter:
rules:
- camel_case_types
- prefer_const_constructors
- prefer_const_literals_to_create_immutables
- prefer_final_fields
- unnecessary_this
- prefer_single_quotes
- avoid_redundant_argument_values
- prefer_typing_uninitialized_variables
- avoid_empty_else
- avoid_init_to_null
- avoid_unnecessary_containers
- avoid_void_async
- always_declare_return_types
- annotate_overrides
- avoid_annotating_with_dynamic
- avoid_as
- avoid_returning_this
- avoid_types_as_parameter_names
- avoid_unused_constructor_parameters
- avoid_web_libraries_in_flutter
- await_only_futures
- camel_case_extensions
- cancel_subscriptions
- close_sinks
- control_flow_in_finally
- curly_braces_in_flow_control_structures
- diagnostic_describe_all_properties
- directives_ordering
- empty_catches
- empty_constructor_bodies
- empty_statements
- file_names
- hash_and_equals
- join_return_with_assignment
- library_names
- library_prefixes
- literal_only_boolean_expressions
- no_adjacent_strings_in_list
- no_duplicate_case_values
- no_logic_in_create_state
- non_constant_identifier_names
- null_closures
- one_member_abstracts
- only_throw_errors
- overridden_fields
- package_names
- parameter_assignments
- prefer_adjacent_string_concatenation
- prefer_asserts_in_initializer_lists
- prefer_asserts_with_message
- prefer_bool_in_asserts
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_contains
- prefer_equal_for_default_values
- prefer_expression_function_bodies
- prefer_final_locals
- prefer_final_parameters
- prefer_foreach
- prefer_function_declarations_over_variables
- prefer_generic_function_type_aliases
- prefer_if_elements_to_conditional_expressions
- prefer_initializing_formals
- prefer_interpolation_to_compose_strings
- prefer_is_empty
- prefer_is_not_empty
- prefer_iterable_whereType
- prefer_mixin
- prefer_null_aware_operators
- prefer_relative_imports
- prefer_spread_collections
- provide_deprecation_message
- recursive_getters
- secure_pubspec_urls
- slash_for_doc_comments
- sort_child_properties_last
- sort_constructors_first
- sort_unnamed_constructors_first
- test_types_in_equals
- throw_in_finally
- type_annotate_public_apis
- type_init_formals
- unawaited_futures
- unnecessary_await_in_return
- unnecessary_brace_in_string_interps
- unnecessary_const
- unnecessary_lambdas
- unnecessary_new
- unnecessary_null_aware_assignments
- unnecessary_null_in_if_null_operators
- unnecessary_overrides
- unnecessary_parenthesis
- unnecessary_statements
- unnecessary_string_escapes
- unnecessary_string_interpolations
- unrelated_type_equality_checks
- use_function_type_syntax_for_parameters
- use_key_in_widget_constructors
- use_late_for_private_fields_and_variables
- use_rethrow_when_possible
- use_setters_to_change_properties
- use_string_buffers
- use_super_parameters
- use_test_throws_matchers
- use_to_and_as_if_applicable
- valid_regexps
analyzer:
exclude:
- "**/*.g.dart"
- "**/*.freezed.dart"
- "**/generated/**"
- "**/build/**"
- "**/coverage/**"
- "**/test-results/**"
# For more information about the core and recommended set of lints, see
# https://dart.dev/go/core-lints

Expand Down
Loading