parseWithFallbackTitle method

  1. @override
Future<PubBox?> parseWithFallbackTitle(
  1. String fileAtPath,
  2. String fallbackTitle
)
override

Parse a file and return a PubBox instance if the format is supported by the parser.

It has a fallbackTitle if none is found in the publication.

Implementation

@override
Future<PubBox?> parseWithFallbackTitle(
    String fileAtPath, String fallbackTitle) async {
  FileAsset file = FileAsset(File(fileAtPath));
  FileFetcher baseFetcher =
      FileFetcher.single(href: "/${file.name}", file: file.file);
  PublicationBuilder? builder;
  try {
    builder = await _parseFile(file, baseFetcher, fallbackTitle);
  } catch (e) {
    return null;
  }
  if (builder == null) {
    return null;
  }
  Publication publication = builder.build();

  PublicationContainer container = PublicationContainer(
      path: p.canonicalize(fileAtPath), mediaType: MediaType.pdf);

  return PubBox(publication, container);
}