Barbo Canino

  • Nome scientifico. Barbus meridionalis Bonaparte, 1839
  • Allegati delle direttive Uccelli ed Habitat in cui le specie sono presenti. La specie è presente negli allegati II e V della Direttiva Habitat; in quest’ultimo allegato compare come Barbus spp.
  • Dimensione della popolazione nell’area di progetto:  Storicamente in Provincia di Parma il barbo canino era presente nelle acque dei torrenti Ceno, Taro, Baganza, Parma, Cedra, Stirone ed Enza, con popolazioni di modesta entità  in 14/14 siti di presenza (Nonnis Marzano et al, 2003). In particolare, dall’analisi delle relative schede Natura2000, il barbo canino risultava presente in n.7/14 dei siti oggetto di progetto (50%).  Oggi le popolazioni risultano in forte contrazione e in alcuni casi vengono rinvenuti esemplari sporadici. La situazione del parmense è comune a quella delle province limitrofe dove in passato il barbo canino era segnalato nei tratti alto montani dei bacini del Trebbia, Nure e appunto Enza mentre oggi residuano popolazioni relitte spesso in condizioni di simpatria con la trota fario. Come già menzionato anche nel caso del canino i monitoraggi più recenti sono riferibili ad attività locali, non supportate da progetti ufficiali: la specie viene censita come “rara” sulla base di parametri semiquantitativi. Nella carta ittica regionale la consistenza numerica delle popolazioni censite tra la fascia collinare e quella appenninica dimostra aspetti demografici ancor più allarmanti rispetto al barbo comune. Le stime semiquantitative riferiscono infatti presenze “rare” o “scarse” in tutte le stazioni campionate; dati quantitativi della zona D riportano stime variabili tra 0,001 e 0,003 ind/mq.
  • Stato di conservazione nell’area di progetto.  La distribuzione della specie è limitata e frammentata, nonché in forte contrazione numerica a livello nazionale e locale (Zerunian, 2002-4; Nonnis Marzano et al., 2003). Il barbo canino è un endemita padan-veneto la cui distribuzione è per lo più vincolata ai tratti appenninico - collinari dell’Italia centro-settentrionale e pertanto le ultime popolazioni relitte devono essere considerate a seria minaccia di estinzione e meritevoli di rigida tutela. Il forte decremento numerico delle popolazioni avvenuto negli ultimi anni in Emilia Romagna è imputabile principalmente al depauperamento idrico dei corsi d’acqua e alla frammentazione derivata dallo sfruttamento dei torrenti per la produzione di energia idroelettrica. Non trascurabile è anche l’effetto dovuto ai ripopolamenti sovradensitari di salmonidi.


class "Gallery" already exists while executing "::itcl::class Gallery { inherit Barbie private variable galleria_d private variable gallery_sect_menu private variabl..." (in namespace eval "::rwdatas" script line 3) invoked from within "namespace eval ::rwdatas { ::itcl::class Gallery { inherit Barbie private variable galleria_d private variable gallery_s..."

OUTPUT BUFFER:

source [file join $rweb_root tcl before.tcl] # # -- gallery.tcl # # datasource per pagina gestione delle # # package require Barbie package require rwbinary namespace eval ::rwdatas { ::itcl::class Gallery { inherit Barbie private variable galleria_d private variable gallery_sect_menu private variable gallery_menu private common thumb_h_size 200 private common gallery_dir private common thumbnails_dir private method page_handled {v p} public method willHandle {arglist keyvar} public method fetchData {key reassigned_key} public method init {args} public method menu_list {page} #public method to_url {lm} { return [Barbie::to_url $lm] } #public method will_provide {keyword reassigned_key} public proc create_thumbnail {photo} public proc gallery {} public proc gallery_latest_entries {dbhandle nentries} public proc thumbnail_fs_path {photo} public proc thumbnail_path {photo} public proc thumbnail_exists {photo} } ::itcl::body Gallery::thumbnail_exists {photo} { return [file exists [thumbnail_fs_path $photo]] } ::itcl::body Gallery::thumbnail_fs_path {photo} { return [file join galleria thumbnails ${photo}] } ::itcl::body Gallery::thumbnail_path {photo} { return [::rivetweb::rewrite_generic_path [join [list galleria thumbnails $photo] "/"]] } ::itcl::body Gallery::create_thumbnail {photo} { set thumbnail [thumbnail_fs_path $photo] set photo_name [file join $gallery_dir $photo] if {[catch {exec gm convert $photo_name -geometry $thumb_h_size $thumbnail} e]} { ::rivet::apache_log_error err "Error creating thumbnail $thumbnail: $e" return -code error -errorcode thumbnail_creation_error $e $e } } # -- page_handled # # ::itcl::body Gallery::page_handled {varsqs page_key} { upvar $page_key p foreach p [list photo gallery] { if {[dict exists $varsqs $p]} { return true } } return false } ::itcl::body Gallery::willHandle {arglist keyvar} { upvar $keyvar key set varsqs [dict create {*}$arglist] if {[dict exists $varsqs photo]} { set photo_filename [dict get $varsqs photo] # # proposed change #set key "view_photo_[regsub -all {[^[:alnum:]]} ${photo_filename}]" # set key "view_photo_[::rivet::escape_string ${photo_filename}]" return -code break -errorcode rw_ok } elseif {[dict exists $varsqs gallery]} { set key "view_gallery" return -code break -errorcode rw_ok } return -code continue -errorcode rw_continue } ::itcl::body Gallery::fetchData {key reassigned_key} { upvar $reassigned_key rkey set rkey $key set key [::rivet::unescape_string $key] switch -regexp -matchvar photo_name -- $key { view_photo_(.+) { $this check_class ::rwpage::Photo set photo_name [lindex $photo_name 1] set p [::rwpage::Photo ::#auto $key $gallery_dir $photo_name] #::rivet::apache_log_error notice "new instance of $p ::rwpage::Photo" } view_gallery { $this check_class ::rwpage::Gallery set p [::rwpage::Gallery ::#auto $key $gallery_dir] #::rivet::apache_log_error notice "new instance of $p ::rwpage::Gallery" } default { set p "" } } #::rivet::apache_log_error notice "new instance of ::rwpage::Photo (binary: [$p binary_content])" return $p } ::itcl::body Gallery::gallery_latest_entries {dbhandle nentries} { set q "select g.*,s.descrizione from galleria g " append q "join sezioni s on s.sectionid=g.sezione " append q "order by g.creazione desc limit $nentries;" set galleria_d [dict create] $dbhandle forall $q photo_a { dict set galleria_d [incr idx] [dict create {*}[array get photo_a]] } return $galleria_d } ::itcl::body Gallery::gallery {} { set q "select g.*,s.descrizione from galleria g " append q "join sezioni s on s.sectionid=g.sezione order by s.descrizione,s.ordine,g.ordine;" set galleria_d [dict create] $::barbie::dbhandle forall $q photo_a { set photo_name $photo_a(filename) set sezione $photo_a(sezione) set descrizione $photo_a(descrizione) unset photo_a(sezione) unset photo_a(filename) unset photo_a(descrizione) dict set galleria_d $sezione photos $photo_name \ [dict create {*}[array get photo_a]] dict set galleria_d $sezione descrizione $descrizione } return $galleria_d } ::itcl::body Gallery::init {args} { Barbie::init $args set gallery_dir [file join $::rivetweb::site_base galleria] if {![file exists $gallery_dir]} { file mkdir $gallery_dir } set thumbnails_dir [file join $gallery_dir thumbnails] if {![file exists $thumbnails_dir]} { file mkdir $thumbnails_dir } set galleria_d [::rwdatas::Gallery::gallery] $this register_class ::rwpage::Photo $this register_class ::rwpage::Gallery } ::itcl::body Gallery::menu_list {page} { set page_class [$page info class] if {($page_class == "::rwpage::Gallery") || \ ($page_class == "::rwpage::Photo")} { set mm $::rivetweb::menumodel set lm $::rivetweb::linkmodel set galleria_d [::rwdatas::Gallery::gallery] if {[dict size $galleria_d] == 0} { return [Datasource::menu_list $page] } catch {$gallery_menu destroy} set gallery_menu [$mm create_menu sezioni_galleria none normal] $gallery_menu assign title "Photo Gallery" en $gallery_menu assign title "Galleria Fotografica" it dict for {sectid section_d} $galleria_d { set gallery_section [$lm create Gallery "" \ [list it [dict get $galleria_d $sectid descrizione]] \ [dict create gallery 1 section $sectid] ""] $gallery_menu add_link $gallery_section } return [list evidenza $gallery_menu] } else { return {} } } } package provide Gallery 1.0 source [file join $rweb_root tcl after.tcl]