josephholsten-rets4r 1.1.17 → 1.1.18
Sign up to get free protection for your applications and to get access to all the features.
- metadata +44 -84
- data/CHANGELOG +0 -336
- data/CONTRIBUTORS +0 -7
- data/GPL +0 -340
- data/LICENSE +0 -29
- data/NEWS +0 -183
- data/README.rdoc +0 -45
- data/RUBYS +0 -56
- data/Rakefile +0 -57
- data/TODO +0 -29
- data/VERSION.yml +0 -5
- data/examples/client_get_object.rb +0 -47
- data/examples/client_login.rb +0 -37
- data/examples/client_metadata.rb +0 -40
- data/examples/client_parser.rb +0 -10
- data/examples/client_search.rb +0 -47
- data/examples/settings.yml +0 -12
- data/lib/rets4r.rb +0 -9
- data/lib/rets4r/auth.rb +0 -73
- data/lib/rets4r/client.rb +0 -723
- data/lib/rets4r/client/data.rb +0 -14
- data/lib/rets4r/client/dataobject.rb +0 -20
- data/lib/rets4r/client/metadata.rb +0 -15
- data/lib/rets4r/client/parsers/compact.rb +0 -42
- data/lib/rets4r/client/parsers/compact_nokogiri.rb +0 -81
- data/lib/rets4r/client/parsers/metadata.rb +0 -92
- data/lib/rets4r/client/parsers/response_parser.rb +0 -100
- data/lib/rets4r/client/transaction.rb +0 -31
- data/lib/rets4r/core_ext/array/extract_options.rb +0 -15
- data/lib/rets4r/core_ext/class/attribute_accessors.rb +0 -58
- data/lib/rets4r/core_ext/hash/keys.rb +0 -46
- data/lib/rets4r/core_ext/hash/slice.rb +0 -39
- data/lib/rets4r/listing_mapper.rb +0 -17
- data/lib/rets4r/listing_service.rb +0 -35
- data/lib/rets4r/loader.rb +0 -8
- data/lib/tasks/annotations.rake +0 -20
- data/lib/tasks/coverage.rake +0 -13
- data/test/compact_nokogiri_test.rb +0 -35
- data/test/data/1.5/bad_compact.xml +0 -7
- data/test/data/1.5/count_only_compact.xml +0 -3
- data/test/data/1.5/error.xml +0 -1
- data/test/data/1.5/invalid_compact.xml +0 -4
- data/test/data/1.5/login.xml +0 -16
- data/test/data/1.5/metadata.xml +0 -0
- data/test/data/1.5/search_compact.xml +0 -8
- data/test/data/1.5/search_compact_big.xml +0 -136
- data/test/data/1.5/search_unescaped_compact.xml +0 -8
- data/test/data/listing_service.yml +0 -36
- data/test/listing_mapper_test.rb +0 -112
- data/test/loader_test.rb +0 -24
- data/test/test_auth.rb +0 -68
- data/test/test_client.rb +0 -315
- data/test/test_helper.rb +0 -12
- data/test/test_parser.rb +0 -96
@@ -1,46 +0,0 @@
|
|
1
|
-
# from ActiveSupport
|
2
|
-
class Hash
|
3
|
-
# Return a new hash with all keys converted to strings.
|
4
|
-
def stringify_keys
|
5
|
-
dup.stringify_keys!
|
6
|
-
end
|
7
|
-
|
8
|
-
# Destructively convert all keys to strings.
|
9
|
-
def stringify_keys!
|
10
|
-
keys.each do |key|
|
11
|
-
self[key.to_s] = delete(key)
|
12
|
-
end
|
13
|
-
self
|
14
|
-
end
|
15
|
-
|
16
|
-
# Return a new hash with all keys converted to symbols, as long as
|
17
|
-
# they respond to +to_sym+.
|
18
|
-
def symbolize_keys
|
19
|
-
dup.symbolize_keys!
|
20
|
-
end
|
21
|
-
|
22
|
-
# Destructively convert all keys to symbols, as long as they respond
|
23
|
-
# to +to_sym+.
|
24
|
-
def symbolize_keys!
|
25
|
-
keys.each do |key|
|
26
|
-
self[(key.to_sym rescue key) || key] = delete(key)
|
27
|
-
end
|
28
|
-
self
|
29
|
-
end
|
30
|
-
|
31
|
-
alias_method :to_options, :symbolize_keys
|
32
|
-
alias_method :to_options!, :symbolize_keys!
|
33
|
-
|
34
|
-
# Validate all keys in a hash match *valid keys, raising ArgumentError on a mismatch.
|
35
|
-
# Note that keys are NOT treated indifferently, meaning if you use strings for keys but assert symbols
|
36
|
-
# as keys, this will fail.
|
37
|
-
#
|
38
|
-
# ==== Examples
|
39
|
-
# { :name => "Rob", :years => "28" }.assert_valid_keys(:name, :age) # => raises "ArgumentError: Unknown key(s): years"
|
40
|
-
# { :name => "Rob", :age => "28" }.assert_valid_keys("name", "age") # => raises "ArgumentError: Unknown key(s): name, age"
|
41
|
-
# { :name => "Rob", :age => "28" }.assert_valid_keys(:name, :age) # => passes, raises nothing
|
42
|
-
def assert_valid_keys(*valid_keys)
|
43
|
-
unknown_keys = keys - [valid_keys].flatten
|
44
|
-
raise(ArgumentError, "Unknown key(s): #{unknown_keys.join(", ")}") unless unknown_keys.empty?
|
45
|
-
end
|
46
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# from ActiveSupport
|
2
|
-
class Hash
|
3
|
-
# Slice a hash to include only the given keys. This is useful for
|
4
|
-
# limiting an options hash to valid keys before passing to a method:
|
5
|
-
#
|
6
|
-
# def search(criteria = {})
|
7
|
-
# assert_valid_keys(:mass, :velocity, :time)
|
8
|
-
# end
|
9
|
-
#
|
10
|
-
# search(options.slice(:mass, :velocity, :time))
|
11
|
-
#
|
12
|
-
# If you have an array of keys you want to limit to, you should splat them:
|
13
|
-
#
|
14
|
-
# valid_keys = [:mass, :velocity, :time]
|
15
|
-
# search(options.slice(*valid_keys))
|
16
|
-
def slice(*keys)
|
17
|
-
keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key)
|
18
|
-
hash = self.class.new
|
19
|
-
keys.each { |k| hash[k] = self[k] if has_key?(k) }
|
20
|
-
hash
|
21
|
-
end
|
22
|
-
|
23
|
-
# Replaces the hash with only the given keys.
|
24
|
-
# Returns a hash contained the removed key/value pairs
|
25
|
-
# {:a => 1, :b => 2, :c => 3, :d => 4}.slice!(:a, :b) # => {:c => 3, :d =>4}
|
26
|
-
def slice!(*keys)
|
27
|
-
keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key)
|
28
|
-
omit = slice(*self.keys - keys)
|
29
|
-
hash = slice(*keys)
|
30
|
-
replace(hash)
|
31
|
-
omit
|
32
|
-
end
|
33
|
-
|
34
|
-
def extract!(*keys)
|
35
|
-
result = {}
|
36
|
-
keys.each {|key| result[key] = delete(key) }
|
37
|
-
result
|
38
|
-
end
|
39
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module RETS4R
|
2
|
-
class ListingMapper
|
3
|
-
def initialize(params = {})
|
4
|
-
@select = params[:select] || ListingService.connection[:select]
|
5
|
-
end
|
6
|
-
def select
|
7
|
-
@select
|
8
|
-
end
|
9
|
-
def map(original)
|
10
|
-
listing = {}
|
11
|
-
@select.each_pair {|rets_key, record_key|
|
12
|
-
listing[record_key] = original[rets_key]
|
13
|
-
}
|
14
|
-
listing
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'rets4r/core_ext/class/attribute_accessors'
|
2
|
-
require 'rets4r/core_ext/hash/keys'
|
3
|
-
require 'rets4r/core_ext/hash/slice'
|
4
|
-
|
5
|
-
module RETS4R
|
6
|
-
class ListingService
|
7
|
-
# RECORD_COUNT_ONLY=Librets::SearchRequest::RECORD_COUNT_ONLY
|
8
|
-
RECORD_COUNT_ONLY='fixme'
|
9
|
-
# Contains the listing service configurations - typically stored in
|
10
|
-
# config/listing_service.yml - as a Hash.
|
11
|
-
cattr_accessor :configurations, :instance_writer => false
|
12
|
-
cattr_accessor :env, :instance_writer => false
|
13
|
-
|
14
|
-
class << self
|
15
|
-
|
16
|
-
# Connection configuration for the specified environment, or the current
|
17
|
-
# environment if none is given.
|
18
|
-
def connection(spec = nil)
|
19
|
-
case spec
|
20
|
-
when nil
|
21
|
-
connection(RETS4R::ListingService.env)
|
22
|
-
when Symbol, String
|
23
|
-
if configuration = configurations[spec.to_s]
|
24
|
-
configuration.symbolize_keys
|
25
|
-
else
|
26
|
-
raise ArgumentError, "#{spec} listing service is not configured"
|
27
|
-
end
|
28
|
-
else
|
29
|
-
raise ArgumentError, "#{spec} listing service is not configured"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
end # class << self
|
34
|
-
end
|
35
|
-
end
|
data/lib/rets4r/loader.rb
DELETED
data/lib/tasks/annotations.rake
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'source_annotation_extractor'
|
2
|
-
|
3
|
-
desc "Enumerate all annotations"
|
4
|
-
task :notes do
|
5
|
-
SourceAnnotationExtractor.enumerate "OPTIMIZE|FIXME|TODO", :tag => true
|
6
|
-
end
|
7
|
-
|
8
|
-
namespace :notes do
|
9
|
-
["OPTIMIZE", "FIXME", "TODO"].each do |annotation|
|
10
|
-
desc "Enumerate all #{annotation} annotations"
|
11
|
-
task annotation.downcase.intern do
|
12
|
-
SourceAnnotationExtractor.enumerate annotation
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
desc "Enumerate a custom annotation, specify with ANNOTATION=WTFHAX"
|
17
|
-
task :custom do
|
18
|
-
SourceAnnotationExtractor.enumerate ENV['ANNOTATION']
|
19
|
-
end
|
20
|
-
end
|
data/lib/tasks/coverage.rake
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
require 'rcov/rcovtask'
|
3
|
-
Rcov::RcovTask.new do |test|
|
4
|
-
test.libs << 'test'
|
5
|
-
test.pattern = "test/test_*.rb"
|
6
|
-
test.verbose = true
|
7
|
-
test.rcov_opts << ' --sort coverage'
|
8
|
-
end
|
9
|
-
rescue LoadError
|
10
|
-
task :rcov do
|
11
|
-
abort "RCov is not available. In order to run rcov, you must: gem install rcov"
|
12
|
-
end
|
13
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), "..", "lib"))
|
2
|
-
|
3
|
-
require 'test/unit'
|
4
|
-
require 'rets4r'
|
5
|
-
|
6
|
-
class CompactNokogiriTest < Test::Unit::TestCase
|
7
|
-
def test_should_do_stuff
|
8
|
-
file = File.expand_path(File.join('test', 'data', '1.5', 'search_compact.xml'))
|
9
|
-
listings = RETS4R::Client::CompactNokogiriParser.new(open(file)).to_a
|
10
|
-
assert_equal({"Third"=>"Datum3", "Second"=>"Datum2", "First"=>"Datum1"}, listings[0])
|
11
|
-
assert_equal({"Third"=>"Datum6", "Second"=>"Datum5", "First"=>"Datum4"}, listings[1])
|
12
|
-
end
|
13
|
-
def test_should_handle_big_data
|
14
|
-
file = File.expand_path(File.join('test', 'data', '1.5', 'bad_compact.xml'))
|
15
|
-
listings = RETS4R::Client::CompactNokogiriParser.new(open(file)).to_a
|
16
|
-
assert_equal 1, listings.length
|
17
|
-
assert_equal 79, listings.first.keys.length
|
18
|
-
end
|
19
|
-
def test_each_should_yield_between_results
|
20
|
-
file = File.expand_path(
|
21
|
-
File.join('test', 'data', '1.5', 'search_compact_big.xml'))
|
22
|
-
stat = File::Stat.new(file)
|
23
|
-
unless stat.size > stat.blksize
|
24
|
-
flunk "This test probably won't work on this machine.
|
25
|
-
It needs a test input file larger than the native block size."
|
26
|
-
end
|
27
|
-
stream = open(file)
|
28
|
-
positions = []
|
29
|
-
listings = RETS4R::Client::CompactNokogiriParser.new(stream).each do |row|
|
30
|
-
positions << stream.pos
|
31
|
-
end
|
32
|
-
assert positions.first < positions.last,
|
33
|
-
"data was yielded durring the reading of the stream"
|
34
|
-
end
|
35
|
-
end
|
@@ -1,7 +0,0 @@
|
|
1
|
-
<RETS ReplyCode="0" ReplyText="Operation Successful">
|
2
|
-
<COUNT Records="38610" />
|
3
|
-
<DELIMITER value="09" />
|
4
|
-
<COLUMNS> MLSNUM AGENTLIST AGENTLIST_FULLNAME OFFICELIST OFFICELIST_OFFICENAM1 INTERNETLIST_ALL LISTSTATUSFLAG PHOTOCOUNT LISTSTATUS BEDS CARPORTCAP NUMDININGAREAS FIREPLACES BATHSFULL BATHSFULLLEVEL1 BATHSFULLLEVEL2 BATHSFULLLEVEL3 BATHSFULLBASEMENT GARAGECAP BATHSHALF BATHSHALFLEVEL1 BATHSHALFLEVEL2 BATHSHALFLEVEL3 BATHSHALFBASEMENT NUMLIVINGAREAS NUMBARNS NUMLAKES NUMPONDS NUMRESIDENCE NUMSTOCKTANKS STORIES NUMWELLS SCHOOLDISTRICT AGENTSELL_FULLNAME OFFICESELL_OFFICENAM2 STATE STREETNAME STREETTYPE STREETNUM STREETNUMDISPLAY STREETDIRSUFFIX STREETDIR STYLE SUBDIVISION ACRES INTERNETDISPLAYYN ROOMBEDBATHDESC STORIESBLDG CITY COMMONFEATURES COUNTY ACRESCULTIVATED INTERIOR LISTPRICE SQFTPRICE LOTNUM LOTDESC LOTDIM LOTSIZE LISTPRICELOW ACRESPRICE MAPBOOK MAPCOORD MAPPAGE LISTPRICEORIG GARAGEDESC PROPTYPE REMARKS PROPSUBTYPE PROPSUBTYPEDISPLAY SQFTTOTAL SQFTSOURCE UTILITIES UID UIDPRP TAXUNEXEMPT UNITNUM YEARBUILT ZIPCODE </COLUMNS>
|
5
|
-
<DATA> 11322886 000533246 CD Boyd, II FMAB McClure, REALTORS OMWS,immo,RCOM,SYND 8 act 4 0 2 1 3 2 0 2 2 Wylie ISD, Taylor Co. TX Thompson PKWY 8317 8317 STYRANCH Belle Vista Estates 0.361 Y BBFJET-TUB,BBFLIN-CLO,BBFSEP-SHO,BBFW+I-CLO Abilene Taylor INFBAY-WIN,INFCABLE-A,INFDECLTNG,INFHIGHSPD,INFLOFT,INFSOUND-W,INFVAUL-CL,INFWIND-CO 239000 84.6 LTDSUBDIV 87X182 LTS.5-.99A 0 662049 OT none 9999 239000 PARATTACHE,PAROPENER,PARREAR,PARSIDE RES Custom home built in 05'. Growing neighborhood convienient to Wylie schools. Abundant living areas and and open space floor plan.Could be 5th BDRM, or upstair BDRM & Bath could be another living area. Perfect office next to Master. Gourmet sized kitchen, granite countertops, barell ceilings, wonderful storage space!!!! S RES-S 2825 TAX STUASPHALT,UTLCITY-SE,UTLCITY-WA,STUCONCRET 3211078 3211078 5876 2005 79606-6652 </DATA>
|
6
|
-
<MAXROWS />
|
7
|
-
</RETS>
|
data/test/data/1.5/error.xml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
<RETS ReplyCode="20400" ReplyText="Invalid Invalidness." />
|
data/test/data/1.5/login.xml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
<RETS ReplyCode="0" ReplyText="Login Request">
|
2
|
-
<RETS-RESPONSE>
|
3
|
-
MemberName=Spiffy Realtor
|
4
|
-
User=srealtor,1,11,11111
|
5
|
-
Broker=1,2
|
6
|
-
MetadataVersion=1.1.1
|
7
|
-
MinMetadataVersion=1.0.0
|
8
|
-
TimeoutSeconds=1200
|
9
|
-
Action=/rets/ActionURL
|
10
|
-
GetMetadata=/rets/GetMetadata
|
11
|
-
GetObject=/rets/GetObject
|
12
|
-
Login=/rets/Login
|
13
|
-
Logout=/rets/Logout
|
14
|
-
Search=/rets/Search
|
15
|
-
</RETS-RESPONSE>
|
16
|
-
</RETS>
|
data/test/data/1.5/metadata.xml
DELETED
File without changes
|
@@ -1,136 +0,0 @@
|
|
1
|
-
<RETS ReplyCode="0" ReplyText="SUCCESS">
|
2
|
-
<COUNT Records="4"/>
|
3
|
-
<DELIMITER value="09" />
|
4
|
-
<COLUMNS> First Second Third </COLUMNS>
|
5
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
6
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
7
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
8
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
9
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
10
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
11
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
12
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
13
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
14
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
15
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
16
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
17
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
18
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
19
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
20
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
21
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
22
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
23
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
24
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
25
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
26
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
27
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
28
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
29
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
30
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
31
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
32
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
33
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
34
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
35
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
36
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
37
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
38
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
39
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
40
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
41
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
42
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
43
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
44
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
45
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
46
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
47
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
48
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
49
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
50
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
51
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
52
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
53
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
54
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
55
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
56
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
57
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
58
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
59
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
60
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
61
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
62
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
63
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
64
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
65
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
66
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
67
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
68
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
69
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
70
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
71
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
72
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
73
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
74
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
75
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
76
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
77
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
78
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
79
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
80
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
81
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
82
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
83
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
84
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
85
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
86
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
87
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
88
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
89
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
90
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
91
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
92
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
93
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
94
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
95
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
96
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
97
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
98
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
99
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
100
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
101
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
102
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
103
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
104
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
105
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
106
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
107
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
108
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
109
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
110
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
111
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
112
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
113
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
114
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
115
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
116
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
117
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
118
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
119
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
120
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
121
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
122
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
123
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
124
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
125
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
126
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
127
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
128
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
129
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
130
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
131
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
132
|
-
<DATA> Datum1 Datum2 Datum3</DATA>
|
133
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
134
|
-
<DATA> Datum4 Datum5 Datum6</DATA>
|
135
|
-
<MAXROWS/>
|
136
|
-
</RETS>
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# This file specifies the access information for the listing service #
|
2
|
-
# To access the standard RETS demo server, use:
|
3
|
-
#
|
4
|
-
test:
|
5
|
-
url: http://demo.crt.realtors.org:6103/rets/login
|
6
|
-
username: Joe
|
7
|
-
password: Schmoe
|
8
|
-
version: 1.7.2
|
9
|
-
resource: Property
|
10
|
-
class: RES
|
11
|
-
object_type: Photo
|
12
|
-
select:
|
13
|
-
ListingID: :mls
|
14
|
-
AgentID: :agent_id
|
15
|
-
ModificationTimestamp: :rets_update_at
|
16
|
-
Status: :status
|
17
|
-
# ListDate: :list_date
|
18
|
-
ListPrice: :list_price
|
19
|
-
# ClosePrice: :close_price
|
20
|
-
# ContractDate: :contract_date
|
21
|
-
StreetNumber: :street_number
|
22
|
-
StreetName: :street_name
|
23
|
-
StreetDirection: :street_direction
|
24
|
-
Unit: :unit_number
|
25
|
-
ZipCode: :zip_code
|
26
|
-
City: :city
|
27
|
-
County: :county
|
28
|
-
# Rooms: :rooms
|
29
|
-
# State: :state
|
30
|
-
# Board: :board
|
31
|
-
LivingArea: :living_area
|
32
|
-
Baths: :baths
|
33
|
-
Bedrooms: :beds
|
34
|
-
Garage: :garage
|
35
|
-
SqFt: :square_feet
|
36
|
-
YearBuilt: :year_built
|