mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2025-12-06 11:09:28 +00:00
use logging package
This commit is contained in:
parent
99fb8264f1
commit
f24e63d852
14 changed files with 135 additions and 86 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:shelfsdk/audiobookshelf_api.dart';
|
||||
import 'package:whispering_pages/db/cache_manager.dart';
|
||||
|
|
@ -10,6 +10,8 @@ import 'package:whispering_pages/settings/api_settings_provider.dart';
|
|||
|
||||
part 'api_provider.g.dart';
|
||||
|
||||
final _logger = Logger('api_provider');
|
||||
|
||||
Uri makeBaseUrl(String address) {
|
||||
if (!address.startsWith('http') && !address.startsWith('https')) {
|
||||
address = 'https://$address';
|
||||
|
|
@ -103,7 +105,7 @@ class PersonalizedView extends _$PersonalizedView {
|
|||
for (final item in resJson)
|
||||
Shelf.fromJson(item as Map<String, dynamic>),
|
||||
];
|
||||
debugPrint('reading from cache: $cachedRes');
|
||||
_logger.fine('reading from cache: $cachedRes');
|
||||
yield res;
|
||||
}
|
||||
|
||||
|
|
@ -119,7 +121,7 @@ class PersonalizedView extends _$PersonalizedView {
|
|||
fileExtension: 'json',
|
||||
key: key,
|
||||
);
|
||||
debugPrint('writing to cache: $newFile');
|
||||
_logger.fine('writing to cache: $newFile');
|
||||
yield res!;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:whispering_pages/api/server_provider.dart'
|
||||
show audiobookShelfServerProvider;
|
||||
import 'package:whispering_pages/settings/models/audiobookshelf_server.dart';
|
||||
import 'package:whispering_pages/settings/models/authenticated_user.dart' as model;
|
||||
import 'package:whispering_pages/settings/api_settings_provider.dart';
|
||||
import 'package:whispering_pages/db/storage.dart';
|
||||
import 'package:whispering_pages/settings/api_settings_provider.dart';
|
||||
import 'package:whispering_pages/settings/models/audiobookshelf_server.dart';
|
||||
import 'package:whispering_pages/settings/models/authenticated_user.dart'
|
||||
as model;
|
||||
|
||||
part 'authenticated_user_provider.g.dart';
|
||||
|
||||
final _box = AvailableHiveBoxes.authenticatedUserBox;
|
||||
|
||||
final _logger = Logger('authenticated_user_provider');
|
||||
|
||||
/// provides with a set of authenticated users
|
||||
@riverpod
|
||||
class AuthenticatedUser extends _$AuthenticatedUser {
|
||||
|
|
@ -32,10 +35,10 @@ class AuthenticatedUser extends _$AuthenticatedUser {
|
|||
Set<model.AuthenticatedUser> readFromBoxOrCreate() {
|
||||
if (_box.isNotEmpty) {
|
||||
final foundData = _box.getRange(0, _box.length);
|
||||
debugPrint('found users in box: $foundData');
|
||||
_logger.fine('found users in box: $foundData');
|
||||
return foundData.toSet();
|
||||
} else {
|
||||
debugPrint('no settings found in box');
|
||||
_logger.fine('no settings found in box');
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
|
@ -46,7 +49,7 @@ class AuthenticatedUser extends _$AuthenticatedUser {
|
|||
return;
|
||||
}
|
||||
_box.addAll(state);
|
||||
debugPrint('writing state to box: $state');
|
||||
_logger.fine('writing state to box: $state');
|
||||
}
|
||||
|
||||
void addUser(model.AuthenticatedUser user) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import 'dart:typed_data';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:shelfsdk/audiobookshelf_api.dart';
|
||||
import 'package:whispering_pages/api/api_provider.dart';
|
||||
|
|
@ -14,6 +14,8 @@ import 'package:whispering_pages/db/cache_manager.dart';
|
|||
|
||||
part 'image_provider.g.dart';
|
||||
|
||||
final _logger = Logger('cover_image_provider');
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class CoverImage extends _$CoverImage {
|
||||
@override
|
||||
|
|
@ -29,23 +31,23 @@ class CoverImage extends _$CoverImage {
|
|||
|
||||
if (file != null) {
|
||||
// if the image is in the cache, yield it
|
||||
debugPrint(
|
||||
_logger.fine(
|
||||
'cover image found in cache for ${libraryItem.id} at ${file.file.path}',
|
||||
);
|
||||
yield await file.file.readAsBytes();
|
||||
// return if no need to fetch from the server
|
||||
if (libraryItem.updatedAt.isBefore(await file.file.lastModified())) {
|
||||
debugPrint(
|
||||
_logger.fine(
|
||||
'cover image is up to date for ${libraryItem.id}, no need to fetch from the server',
|
||||
);
|
||||
return;
|
||||
} else {
|
||||
debugPrint(
|
||||
_logger.fine(
|
||||
'cover image stale for ${libraryItem.id}, fetching from the server',
|
||||
);
|
||||
}
|
||||
} else {
|
||||
debugPrint('cover image not found in cache for ${libraryItem.id}');
|
||||
_logger.fine('cover image not found in cache for ${libraryItem.id}');
|
||||
}
|
||||
|
||||
// check if the image is in the cache
|
||||
|
|
@ -61,7 +63,7 @@ class CoverImage extends _$CoverImage {
|
|||
key: libraryItem.id,
|
||||
fileExtension: 'jpg',
|
||||
);
|
||||
debugPrint(
|
||||
_logger.fine(
|
||||
'cover image fetched for for ${libraryItem.id}, file time: ${await newFile.lastModified()}',
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:shelfsdk/audiobookshelf_api.dart' as shelfsdk;
|
||||
import 'package:whispering_pages/api/api_provider.dart';
|
||||
|
|
@ -10,6 +10,8 @@ import 'package:whispering_pages/shared/extensions/model_conversions.dart';
|
|||
|
||||
part 'library_item_provider.g.dart';
|
||||
|
||||
final _logger = Logger('LibraryItemProvider');
|
||||
|
||||
/// provides the library item for the given id
|
||||
@riverpod
|
||||
class LibraryItem extends _$LibraryItem {
|
||||
|
|
@ -17,7 +19,7 @@ class LibraryItem extends _$LibraryItem {
|
|||
Stream<shelfsdk.LibraryItemExpanded> build(String id) async* {
|
||||
final api = ref.watch(authenticatedApiProvider);
|
||||
|
||||
debugPrint('LibraryItemProvider fetching library item: $id');
|
||||
_logger.fine('LibraryItemProvider fetching library item: $id');
|
||||
|
||||
// ! this is a mock delay
|
||||
// await Future.delayed(const Duration(seconds: 10));
|
||||
|
|
@ -27,14 +29,15 @@ class LibraryItem extends _$LibraryItem {
|
|||
final cachedFile = await apiResponseCacheManager.getFileFromMemory(key) ??
|
||||
await apiResponseCacheManager.getFileFromCache(key);
|
||||
if (cachedFile != null) {
|
||||
debugPrint('LibraryItemProvider reading from cache for $id from ${cachedFile.file}');
|
||||
_logger.fine(
|
||||
'LibraryItemProvider reading from cache for $id from ${cachedFile.file}');
|
||||
// read file as json
|
||||
final cachedItem = shelfsdk.LibraryItemExpanded.fromJson(
|
||||
jsonDecode(await cachedFile.file.readAsString()),
|
||||
);
|
||||
yield cachedItem;
|
||||
} else {
|
||||
debugPrint('LibraryItemProvider cache miss for $id');
|
||||
_logger.fine('LibraryItemProvider cache miss for $id');
|
||||
}
|
||||
|
||||
// ! this is a mock delay
|
||||
|
|
@ -60,7 +63,7 @@ class LibraryItem extends _$LibraryItem {
|
|||
fileExtension: 'json',
|
||||
key: key,
|
||||
);
|
||||
debugPrint('writing to cache: $newFile');
|
||||
_logger.fine('writing to cache: $newFile');
|
||||
yield item.asExpanded;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue