App-BPOMUtils-RPO-Ingredients

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.006   2024-02-26  Released-By: PERLANCAR; Urgency: medium

        - Add option --quid-precision, default to 4.

        - Tweak formatting of weights.


0.005   2024-02-25  Released-By: PERLANCAR; Urgency: medium

        - Format Indonesian number with Indonesian locale.


0.004   2024-02-25  Released-By: PERLANCAR; Urgency: medium

        - Support QUID & ingredient note formatting.


0.003   2024-02-25  Released-By: PERLANCAR; Urgency: medium

        - [bugfix] Fix Rinci result metadata (extraneous column).

META.json  view on Meta::CPAN

         "requires" : {
            "Data::Sah::Compiler::perl::TH::int" : "0.914",
            "Data::Sah::Compiler::perl::TH::str" : "0.914",
            "Exporter" : "5.57",
            "Log::ger" : "0.038",
            "POSIX" : "0",
            "Perinci::CmdLine::Any" : "0.154",
            "Perinci::CmdLine::Lite" : "1.924",
            "Sah::Schema::uint" : "0",
            "Text::CSV" : "1.91",
            "locale" : "0",
            "perl" : "5.010001",
            "strict" : "0",
            "warnings" : "0"
         }
      },
      "test" : {
         "requires" : {
            "File::Spec" : "0",
            "IO::Handle" : "0",
            "IPC::Open3" : "0",

META.yml  view on Meta::CPAN

requires:
  Data::Sah::Compiler::perl::TH::int: '0.914'
  Data::Sah::Compiler::perl::TH::str: '0.914'
  Exporter: '5.57'
  Log::ger: '0.038'
  POSIX: '0'
  Perinci::CmdLine::Any: '0.154'
  Perinci::CmdLine::Lite: '1.924'
  Sah::Schema::uint: '0'
  Text::CSV: '1.91'
  locale: '0'
  perl: '5.010001'
  strict: '0'
  warnings: '0'
resources:
  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=App-BPOMUtils-RPO-Ingredients
  homepage: https://metacpan.org/release/App-BPOMUtils-RPO-Ingredients
  repository: git://github.com/perlancar/perl-App-BPOMUtils-RPO-Ingredients.git
version: '0.007'
x_Dist_Zilla:
  perl:

Makefile.PL  view on Meta::CPAN

  "PREREQ_PM" => {
    "Data::Sah::Compiler::perl::TH::int" => "0.914",
    "Data::Sah::Compiler::perl::TH::str" => "0.914",
    "Exporter" => "5.57",
    "Log::ger" => "0.038",
    "POSIX" => 0,
    "Perinci::CmdLine::Any" => "0.154",
    "Perinci::CmdLine::Lite" => "1.924",
    "Sah::Schema::uint" => 0,
    "Text::CSV" => "1.91",
    "locale" => 0,
    "strict" => 0,
    "warnings" => 0
  },
  "TEST_REQUIRES" => {
    "File::Spec" => 0,
    "IO::Handle" => 0,
    "IPC::Open3" => 0,
    "Test::More" => 0
  },
  "VERSION" => "0.007",

Makefile.PL  view on Meta::CPAN

  "File::Spec" => 0,
  "IO::Handle" => 0,
  "IPC::Open3" => 0,
  "Log::ger" => "0.038",
  "POSIX" => 0,
  "Perinci::CmdLine::Any" => "0.154",
  "Perinci::CmdLine::Lite" => "1.924",
  "Sah::Schema::uint" => 0,
  "Test::More" => 0,
  "Text::CSV" => "1.91",
  "locale" => 0,
  "strict" => 0,
  "warnings" => 0
);


unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
  delete $WriteMakefileArgs{TEST_REQUIRES};
  delete $WriteMakefileArgs{BUILD_REQUIRES};
  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}

dist.ini  view on Meta::CPAN

read_config=0
read_env=0

[InsertExecsList]

[@Author::PERLANCAR]
:version=0.610

[Prereqs]
perl=5.010001
locale=0
strict=0
warnings=0
Exporter=5.57
Log::ger=0.038
POSIX=0
Text::CSV=1.91

[Prereqs / DevelopX_spec]
-phase=develop
-relationship=x_spec

lib/App/BPOMUtils/RPO/Ingredients.pm  view on Meta::CPAN

package App::BPOMUtils::RPO::Ingredients;

use 5.010001;
use locale;
use strict;
use warnings;
use Log::ger;

use Exporter 'import';
use POSIX 'setlocale', 'LC_ALL';

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2024-04-06'; # DATE
our $DIST = 'App-BPOMUtils-RPO-Ingredients'; # DIST
our $VERSION = '0.007'; # VERSION

our @EXPORT_OK = qw(
                       bpom_rpo_ingredients_group_for_label
               );

lib/App/BPOMUtils/RPO/Ingredients.pm  view on Meta::CPAN

sub bpom_rpo_ingredients_group_for_label {
    require Text::CSV;

    my %args = @_;

    my $csv = Text::CSV->new({binary=>1, auto_diag=>1});
    my @rows;
    while (my $row = $csv->getline(\*STDIN)) { push @rows, $row }

    if ($args{lang} eq 'ind') {
        POSIX::setlocale(LC_ALL, "id_ID.UTF-8") or die "Can't set locale to id_ID.UTF-8";
    } else {
    }

    my %weights; # key = ingredient name, value = weight
    my %ingredients; # key = name, value = { weight=>, items=> }
    for my $n (1 .. $#rows) {
        my $row = $rows[$n];
        my ($ingredient0, $weight, $ind_ingredient, $eng_ingredient, $quid, $ind_note, $eng_note, $ind_group, $eng_group, $ind_inner, $eng_inner, $inner_content) = @$row;
        my ($label_ingredient0, $note, $group, $inner) = $args{lang} eq 'eng' ?
            ($eng_ingredient, $eng_note, $eng_group, $eng_inner) :



( run in 1.788 second using v1.01-cache-2.11-cpan-ceb78f64989 )