Changeset 3 in code for trunk/lib/date.ml


Ignore:
Timestamp:
Apr 15, 2022, 1:17:01 PM (3 years ago)
Author:
fox
Message:
  • Removed 'txt init'

Format

  • New B32 ID

Index

  • New option: txt index --print
  • Move scheme to peers
  • Replace peer.*.conf files with index packed locations Instead of adding a URL to peers.*.conf, run txt pull <url>

Conversion

  • Rewritten converters
  • txt-convert looks for a .convert.conf containing key: value lines.
  • Specifiable topic-roots from .convert.conf.
  • Added Topics: key, with comma seperated topics.

If set only those topics will appear in the main index and used as topic roots.
Other topics will have sub-indices generated, but won't be listed in the main index.

  • HTML converter header & footer options
  • HTML-index renamed to HTM-index

Internal

  • Change types: uuid:Uuid -> id:string
  • File_store merges identical texts
  • Use peer ID for store path, store peers' texts in .local/share/texts
  • Simple URN resolution for converter

Continue to next feed if parsing one fails

  • Phasing-out Archive, replaced by improved packs
  • Eliminate Bos, Cohttp, lwt, uri, tls, Re, Ptime, dependencies
  • Lock version for Cmdliner, fix dune-project
  • Optional resursive store
  • Improve header_pack
  • Fix recursive mkdir
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/date.ml

    r2 r3  
    1 type t = { created: Ptime.t option; edited: Ptime.t option }
     1type t = { created: string; edited: string }
    22let compare = compare
    3 let rfc_string date = match date with Some t -> Ptime.to_rfc3339 t | None -> ""
    4 let of_string (rfc : string) = match Ptime.of_rfc3339 rfc with Ok (t,_,_) -> Some t | Error _ -> None
    5 let listing date = if Option.is_some date.edited then date.edited else date.created
    6 let pretty_date = function
    7   | Some t -> Ptime.to_date t |> fun (y, m, d) -> Printf.sprintf "%04d-%02d-%02d" y m d
    8   | None -> ""
     3let rfc_string date = date
     4let of_string (rfc : string) = rfc
     5let listing date = if date.edited <> "" then date.edited else date.created
     6let pretty_date date =
     7        try Scanf.sscanf date "%4s-%2s-%2s" (fun y m d -> Printf.sprintf "%s %s %s" y m d)
     8        with Scanf.Scan_failure s as e -> Printf.fprintf stderr "%s for %s\n" s date; raise e
     9let now () = Unix.time () |> Unix.gmtime |>
     10        (fun t -> Printf.sprintf "%4d-%02d-%02dT%02d:%02d:%02dZ"
     11         (t.tm_year+1900) (t.tm_mon+1) t.tm_mday t.tm_hour t.tm_min t.tm_sec)
     12let to_secs date =
     13        Scanf.sscanf date "%4d-%02d-%02dT%02d:%02d:%02d"
     14                (fun y mo d h mi s -> (y-1970)*31557600 + mo*2629800 + d*86400 + h*3600 + mi*60 + s)
Note: See TracChangeset for help on using the changeset viewer.