Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
devel:languages:perl:CPAN-H
perl-HTML-Element-Replacer
perl-HTML-Element-Replacer.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File perl-HTML-Element-Replacer.spec of Package perl-HTML-Element-Replacer
# # spec file for package perl-HTML-Element-Replacer # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-HTML-Element-Replacer Version: 0.08 Release: 0 %define cpan_name HTML-Element-Replacer Summary: Simplify the HTML::Element clone() - push_content() ritual License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl Url: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/A/AC/ACCARDO/%{cpan_name}-%{version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(File::Slurp) BuildRequires: perl(HTML::Element::Library) BuildRequires: perl(HTML::PrettyPrinter) BuildRequires: perl(HTML::TreeBuilder) BuildRequires: perl(Moose) Requires: perl(HTML::Element::Library) Requires: perl(HTML::TreeBuilder) Requires: perl(Moose) %{perl_requires} %description Let's say you have this HTML: <table> <tr scla="top"/> <tr scla="mid"> <td kmap="brand"> blah </td> <td kmap="age"> blah </td> </tr> <tr scla="bot"/> </table> Now let's say you have 5 data rows that you wish to display using the middle 'tr' as your sample. The pure HTML::Tree way to do this would be: my $sample_tr = $tree->look_down(scla => 'mid'); my @c; for my $data (@data) { my $c = $sample_tr->clone; $c->defmap(kmap => $data); push @c, $c; } $sample->replace_with(@c); We did cheat a bit by using 'defmap()' from HTML::Element::Library. Now, with this class, we can do this: { my $replacer = HTML::Element::Replacer->new(look_down => [ scla => 'mid' ]); for my $data (@data) { my $clone = $replacer->push_clone->defmap(kmap => $data); # clone and push onto @temp_list } } # replacer goes out of scope and then replaces sample_tr %prep %setup -q -n %{cpan_name}-%{version} %build perl Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %defattr(-,root,root,755) %doc Changes README %license LICENSE %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor