avatar_dAb

Informatikgedöns

Begonnen von dAb, 05. September 2012, 18:08:40

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

merfis

Zitat von: BorussenZwerg am 06. September 2012, 16:31:10
Soviel wie du hier heute rumhängst wohl eher nicht. :p

Es ist nicht weniger als sonst :p Und das heißt nicht, dass ich nichts zu tun habe.

dAb

Werd dann heute mal langsam anfangen und mir mal ne XML-Datei einlesen. Mal sehen wie das so klappt hier.


Scheinen wohl aber jeweils nur ein Objekt drinzuhaben. Das geht ja dann noch.
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

dAb

#17
Das Ding braucht nicht mal zehn Minuten für 30000 Dateien. :hui:

get_data() holt die Infos aus den Dateien.
clean_up() schmeißt die uninteressanten Objekte wieder raus.
validate() vergleicht schließlich mit der Datenbank.

_pragma(classify_level=restricted, topic={test})
def_slotted_exemplar(:xml_gfap,
##
##
##
{
{:insert, _unset},
{:delete, _unset},
{:klsid, _unset}
},
{})
$


_pragma(classify_level=restricted, topic={test})
xml_gfap.define_slot_access(:klsid, :readable
##
##
##
)
$

_pragma(classify_level=restricted, topic={test})
xml_gfap.define_slot_access(:insert, :writable
##
##
##
)
$

_pragma(classify_level=restricted, topic={test})
xml_gfap.define_slot_access(:delete, :writable
##
##
##
)
$
_pragma(classify_level=restricted, topic={test})
_method xml_gfap.new(p_kls, p_insert, p_delete)
#---------------------------------------------------
## <Req. #> : <Description>
##

>> _clone.init(p_kls, p_insert, p_delete)


_endmethod
$


_pragma(classify_level=restricted, topic={test})
_method xml_gfap.init(p_kls, p_insert, p_delete)
#---------------------------------------------------
## <Req. #> : <Description>
##

.klsid << p_kls
.insert << p_insert
.delete << p_delete

_return _self


_endmethod
$



_pragma(classify_level=restricted, topic={test})
def_slotted_exemplar(:gfap_reader,
##
##
##
{
{:directory, _unset},
{:gfap_col, _unset}
},
{})
$

_pragma(classify_level=restricted, topic={test})
_method gfap_reader.new(p_directory)
#---------------------------------------------------
## <Req. #> : <Description>
##



>> _clone.init(p_directory)

_endmethod
$

_pragma(classify_level=restricted, topic={test})
_method gfap_reader.init(p_directory)
#---------------------------------------------------
## <Req. #> : <Description>
##



.directory << directory_channel.new(p_directory)
.gfap_col << hash_table.new()

_return _self

_endmethod
$


_pragma(classify_level=restricted, topic={test})
_method gfap_reader.get_data()
#---------------------------------------------------
## <Req. #> : <Description>
##

_local xml, path, msgHeader, ftthObject, request, insert_or_delete, klsID, a_gfap

_loop @bla

path << .directory.get_full()

_if path _isnt _unset
_then
xml << simple_xml.read_element_file(path)

_else

_leave @bla

_endif

msgHeader << xml.elements[1]
ftthObject << msgHeader.elements[3]

_if ftthObject.elements[1] = "FTTHPointInsert" _or ftthObject.elements[1] = "FTTHPointDelete"
_then

request << xml.elements[2]
insert_or_delete << request.elements[1]
klsID << insert_or_delete.elements[1]
write(ftthObject.elements[1] + " " + klsID.elements[1])

_self.create_gfap(xml, klsID.elements[1].as_integer(), ftthObject.elements[1])

_endif

_endloop


_endmethod
$

_pragma(classify_level=restricted, topic={test})
_method gfap_reader.create_gfap(p_xml, p_klsid, p_action)
#---------------------------------------------------
## <Req. #> : <Description>
##


_local l_time << _self.get_xml_time(p_xml)

write(l_time)

_if .gfap_col[p_klsid] _is _unset
_then

_if p_action = "FTTHPointInsert"
_then

a_gfap << xml_gfap.new(p_klsid, l_time, _unset)

_else
a_gfap << xml_gfap.new(p_klsid, _unset, l_time)

_endif

.gfap_col[a_gfap.klsid] << a_gfap

_else

_self.update_gfap(p_action, p_klsid, l_time)

_endif

_endmethod
$

_pragma(classify_level=restricted, topic={test})
_method gfap_reader.update_gfap(p_action, p_klsid, p_time)
#---------------------------------------------------
## <Req. #> : <Description>
##


_if p_action = "FTTHPointInsert"
_then

_if .gfap_col[p_klsid].insert _is _unset
_then

.gfap_col[p_klsid].insert << p_time

_elif .gfap_col[p_klsid].insert < p_time
_then

.gfap_col[p_klsid].insert << p_time

_endif

_else

_if .gfap_col[p_klsid].delete _is _unset
_then

.gfap_col[p_klsid].delete << p_time

_elif .gfap_col[p_klsid].delete < p_time
_then

.gfap_col[p_klsid].delete << p_time

_endif
_endif

_endmethod
$


_pragma(classify_level=restricted, topic={test})
_method gfap_reader.get_xml_time(p_xml)
#---------------------------------------------------
## <Req. #> : <Description>
##

_local msgHeader << p_xml.elements[1]
_local create_time_tag << msgHeader.elements[2]
_local create_time << create_time_tag.elements[1]

_local year << create_time.slice(1,4).as_integer()
_local month << create_time.slice(6,7).as_integer()
_local day << create_time.slice(9,10).as_integer()
_local hours << create_time.slice(12,13).as_integer()
_local minutes << create_time.slice(15,16).as_integer()
_local seconds << create_time.slice(18,19).as_integer()

create_time << date_time.new_from_components(year, month, day, _unset, hours, minutes, seconds, _unset, _unset)


_return create_time

_endmethod
$


_pragma(classify_level=restricted, topic={test})
_method gfap_reader.clean_up()
#---------------------------------------------------
## <Req. #> : <Description>
##

_local counter << 0

_for a_id, a_gfap _over .gfap_col.fast_keys_and_elements()
_loop

_if a_gfap.insert _is _unset
_then

_continue

_elif a_gfap.delete _is _unset 
_then

.gfap_col.remove_key(a_id)
counter +<< 1

_elif a_gfap.insert > a_gfap.delete
_then

.gfap_col.remove_key(a_id)
counter +<< 1

_endif

_endloop


write(counter)

_endmethod
$


_pragma(classify_level=restricted, topic={test})
_method gfap_reader.validate()
#---------------------------------------------------
## <Req. #> : <Description>
##

_local log << external_text_output_stream.new("t:\gfap_xml\log3.txt")
_local cfv << gis_program_manager.databases[:cfv]
_local col << cfv.collections[:mp_cfv_fibre_conn_location]
_local pred, sel, a_location
_local valids << 0
_local non_valids << 0

_for a_key, a_gfap _over .gfap_col.fast_keys_and_elements()
_loop

pred << predicate.eq(:kls_id, a_key)
sel << col.select(pred)

_if sel.size _isnt 0
_then

a_location << sel.an_element()

_if a_location.switch_points.size > 1
_then

log.write("!!! Achtung, ", a_location.switch_points.size, " Schaltpunkte vorhanden an ", a_location, " -> aus GF-AP ", a_gfap.klsid)
log.newline()

_endif

_for a_sp _over a_location.switch_points.fast_elements()
_loop

_if a_sp.is_fxp_llc_valid?()
_then

valids +<< 1

log.write("Valider GF-AP -> ", a_sp, " mit KLS ID ", a_location.kls_id)
log.newline()
_else

non_valids +<<1

log.write("### Nicht valider  GF-AP -> ", a_sp, " mit KLS ID ", a_location.kls_id, " gelöscht am ", a_gfap.delete)
log.newline()

_endif

_endloop
_else

.gfap_col.remove_key(a_key)

_endif

_endloop

write("Insgesamt wurden " + valids.write_string + " valide und " + non_valids.write_string + " nicht valide GF-APs gefunden")
log.write("Insgesamt wurden " + valids.write_string + " valide und " + non_valids.write_string + " nicht valide GF-APs gefunden")

log.flush()
log.close()


_endmethod
$
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

Sunlion79

Bekommst du dafür jetzt eine 1? :hui:
-"Was magst du nicht an Teamarbeit?"
-"Das Team."

dAb

AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

merfis


dAb

AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

merfis

Das sieht ja schlimm aus  :panik:

dAb

Gibts auch nur für das eine Programm, das wir verwenden. Aber hat schon so seine Vorteile.
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

dAb

#24
Jemand ne Ahnung warum die Übergabe hier nicht funktioniert? Ist JavaScript...


function checkImage(b_name){
var serv = $('#server').val();
$.ajax({
type: "GET",
url: "/cgi-bin/open_batch.pl",
data: b_name+";"+serv
})


Zitat[cgi:error] [pid 4540:tid 508] [client 127.0.0.1:2664] malformed header from script 'open_batch.pl': Bad header:, referer: http://localhost/index.html

Er setzt das Semikolon nicht und bricht die Serveradresse mittendrin ab...


Also so zum Beispiel müsste es sein:

64500;www.anstoss-juenger.de

Aber es kommt:

64500smirnoff2.homeip.net/ansto
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

merfis

Ich würde sagen, setze data schon vorher zusammen. Oder versuch's mit einfachen Anführungszeichen ' statt ".

dAb

Zusammensetzen bringt nichts. Habe ich schon getestet...

Komischerweise funktioniert das hier schon...


function getEnvInfo(){
     var envi = $('#env').val();
     var serv = $('#server').val();
var sorti = $('#sort').val();
     $('#statusbar').prepend("<h2>Querying Server</h2>");
     $.ajax({
     type: "GET",
     url: "/cgi-bin/image_checker2.pl",
     data: envi+";"+serv+";"+sorti
     }).done(displayEnvInfo);      };
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

dAb

Ok, habs...
Man muss dem Apache bei ner Ausgabe in Perl anscheinend noch sagen von welchem Typ die sein soll. Das wusste ich nicht. :tuete:
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

Paterson

#28
Hey Leute, ich hab vor mir ne zweite SATA Festplatte einzubauen, aber ich möchte sie so laufen lassen, das beide parallel (gleichzeitig) laufen, d.h. nur auf einer Platte ein Betriebssystem ist und die andere trotzdem verwendbar ist. (sowie bei den Laptops eben)

Ich möchte nicht das es so ist das ich beim Starten gefragt werde, welche der beiden Festplatten ich wählen will.

Muss ich dazu dann beim Einbau irgendwas beachten? (also einfach anschließen auf nen freien SATA-Platz und die Festplatte mit dem Betriebssystem zuerst booten lassen)

scooter

Zitat von: Paterson am 08. Oktober 2012, 20:00:01
(also einfach anschließen auf nen freien SATA-Platz und die Festplatte mit dem Betriebssystem zuerst booten lassen)

Genau so. Also einfach einbauen und gut is ;)
"Der Rasen hat gestunken!"

Mach's gut Felix :heul: