Their love is the kind you'd be hard pressed to find today. Compatibility, check; chemistry, check; similar interests, check, and appreciating one another every day, check, and check.
Jennifer and Don Skinner are what true love is supposed to look like.
The husband-wife duo not only has common interests, but they also work as mortgage specialists for the same company – RBC Royal Bank - from the same office – their home. So they are literally together 24/7 whether working, or playing.
The Skinners met at work. Jennifer, 32, who has now been living in Fort McMurray for seven years, had just joined RBC. She had stepped outside for a break, unaware someone's smile was about to change her world forever - for the better.
"It was love at first sight. He had an amazing smile. Then I heard his accent, and knew he was a Newfie. You know a Newfie when you hear one," Jennifer shares with a smile.
She asked him where he was from, and when he asked her in turn, she said, "Do you know where Carbonear is? Not there," she adds with a laugh.
"She had me at 'not there,'" chimed in Don, who has been in Fort McMurray for 12 years, and is from Newfoundland's west coast –Stephenville, while Jennifer hails from Gull Island on the opposite end.
"We would have never met in Newfoundland. We were eight hours away from one another," Jennifer notes.
And, even though he thought it could never happen, it was love at first sight for Don too.
"There were sparks. I couldn't get her out of my head. Her beautiful smile and outgoing personality impressed me. I knew if I didn't pursue her, I would regret it for the rest of my life. There was no awkward dating. It was as if I had known her all my life," he enthuses.
In fact, Don introduced Jennifer to his parents, who also live in Fort McMurray, two weeks after they met. And, they invited Jennifer to participate in a family portrait that was already scheduled.
"I wasn't sure about the family portrait. Our relationship was so new. But, Jennifer took to my family right away. I couldn't picture life without her," he adds.
Jennifer felt the same way too.
"I joined softball right after I met him just to be near him. I was dating someone and broke it off, because I couldn't stop thinking about Don, and he hadn't even asked me out yet," Jennifer enthuses.
The couple travelled what they dub "the super highway of dating," and were soon doing everything together ranging from golf, and softball to pool and travelling all over North America.
Don proposed five-and-a-half months later. The couple tied the knot at Caesar's Palace in Vegas with close family and friends in attendance; they have been married for over six years now, and expecting their first child – a baby boy due in February 2014.
The 11th clue took Jennifer straight to Don, or as she calls him, "Donnie" where he was all set to give her the special ring designed by Jennifer herself.
"It took me about two hours, but it was just great," recalls Jennifer.
"There's no other feeling like it when you find that special person," notes Don.
Jennifer agrees. Both knew the value of finding the right person, and not settling.
"Don't ever settle. If you have to change for someone, it's not worth it. Like it or lump it," Jennifer emphasizes.
So while they play together seamlessly, does working together get competitive?
"No," comes the reply in unison.
"It doesn't get monotonous. We have the most rewarding positions with RBC," Don continues.
Nevertheless, when he walks upstairs from the home office, he does clock out mentally, something he reminds Jennifer to do as well.
"Jen takes the work to bed. I have to remind her the work day is done," Don shares with a smile.
Life in #YMM is everything they wanted it to be.
"We owe everything to Fort McMurray. Our careers, our lives started here. We love living in Abasand surrounded by Newfie neighbours," Jennifer notes.
"We don't buy into the negative media hype about Fort McMurray. This is home," Don adds.
Staying active together also keeps their relationship fresh. Whether it is travelling, or engaging in side bets during a round of golf, they make sure the fun continues.
"We always take time for ourselves. We do everything together. There's no guys night, or girls' night out. We wouldn't have it any other way. We take at least three vacations. But, now we have slowed down for the baby," Don explains.
The baby is indeed taking up all their attention now. He is even more special, because of some fertility issues.
"I was visiting family in Newfoundland, and called him right away after I took the pregnancy test," recalls Jennifer, her eyes twinkling with the beautiful memory.
The nursery is ready. The crib is ready. Everything is set to greet Benjamin Oliver Skinner, who is already nick-named BOS as per his initials. It's Don, Jen, and Ben, they want you to know.
And, at the end of the day the Skinners say it is remembering the basics that keeps a relationship strong and fresh.
"We never go to bed angry. We kiss each other goodbye, even when one goes to the store, which is two minutes away. We live for us, and the baby," Jennifer says.


text:
Antonín Baudyš (* 9. September 1946 in Prag; † 23. August 2010 ebenda) war ein tschechischer Politiker, Physiker und Astrologe.

Leben
Baudyš studierte von 1964 bis 1969 an der Fakultät für Maschinenbau  der Tschechischen Technischen Universität Prag und war danach bis 1989 an der Fakultät für Mechanik und Optik dieser Universität beschäftigt.

Baudyš war seit 1970 Mitglied der ČSL, später der KDU-ČSL. Er war von 1989 bis 1992 Vizepremierminister der ČSSR und 1992 der ČSFR. Von 1992 bis 1994 war er Verteidigungsminister im Kabinett von Václav Klaus. Während seiner Amtszeit wurden ihm einige Affären und Vorkommnisse vorgeworfen, unter anderem ein Schusswaffengebrauch auf einem Flug nach Schweden 1994, als sein Leibwächter den Boden des Flugzeuges durchschoss. Infolge weiterer Skandale in der Armee sowie wegen seines umstrittenen und mit der Regierung nicht konsultierten Vorschlags zur Lösung des Konfliktes in Bosnien wurde er als Minister abgerufen. 1996 kandidierte er erfolglos bei den Wahlen zum Senat.

Baudyš trat für das Recht jedes erwachsenen Bürgers ein, eine eigene Schusswaffe zu besitzen und Schussübungen zum Zweck der Selbstverteidigung  durchzuführen; 1998 stand er bei der Gründung der Vereinigung LEX, welche die Waffenbesitzer vertreten soll, und wurde zu deren Vorsitzendem. Nach der Beendigung der politischen Laufbahn widmete er sich der Astrologie und prophezeite u. a. für 2003 den Tod von George W. Bush.

Baudyš war zweimal verheiratet. 1970 heiratete er Zuzana, die Ehe wurde im Jahre 2010 geschieden. Drei Wochen später heiratete er erneut. Er starb an einem Hirntumor.

Werke
 Technická optika, 2. Aufl. 1996 (ISBN 80-01-01480-0)
 My & On, 1998 (ISBN 80-85625-94-6)
 (mit Jan Bauer): Čeští vládci očima astrologa, 2001 (ISBN 80-86529-00-2)

Einzelnachweise

Weblinks
 Biographie
 Nachrufartikel (englisch)
 Nachrufartikel (tschechisch)

Verteidigungsminister (Tschechien)
Politiker (Tschechoslowakei)
KDU-ČSL-Mitglied
Astrologe (21. Jahrhundert)
Tschechoslowake
Tscheche
Geboren 1946
Gestorben 2010
Mann

redpajama_set_name: RedPajamaWikipedia


The 60648220 graphic is conveniently available in a variety of decorative goods from posters, to comforters, to custom size rugs and drapes, and even baby comforters or bath mats.
Entire Valentines Day themed collections are available for your bedroom, bathroom and almost any room in your house. What about a new look for your family area?
Let us change the main color or any color within this design to ANY color you desire. VisionBedding can also print a personalized message anywhere within the pattern. Our personalization options are nearly endless. We can adjust the accessory objects or the central object within this specific 60648220 design.
You've been looking forward to the time when you are about to bring your little one home. To get ready for that memorable time, you may be wondering how to begin selecting the ideal bedding for your child. This is a popular question for a lot of new moms and dads! When considering bedding for your child, make sure to first think about chafing. You will want the bedding to be as soft as possible, as your little one's skin is exceptionally delicate. You also shouldn't get bedding that is too cumbersome or your newborn may be overwhelmed underneath its bulk. Next, select which colors and concept you wish to include into the overall look of your child's room. How about woodland themed elements? Perhaps you prefer to keep basic and pale shades. You can explore numerous hues and fabrics to find out what choices you like. In the end, your child will surely be happy with warm blankets for their crib. And make sure to think about the size of the crib prior to selecting any blankets. Buying a larger bedding set is a smart choice, as it can go with your child as they grow up and go from a crib to a bed.
One of the largest errors individuals make in home designing is overdoing a switch they hope to make. Just take risks! What are you waiting for? You might be obligated to change it back. That's not so bad. Reorganize elements, include that Valentines Day themed wall art, throw down that area rug. You'll never know until you do it!


text:
AUTUMN IN NEW YORK…AND OTHER PLACES (November 12-21, 2021)
In mid-November 2021, Thomas Cunniffe and a long-time friend from Colorado attended a series of 7 concerts spread over 10 days. The experience illustrated the culture deeply embedded in the Northeastern US. In this extended Concert Review, Cunniffe discusses all of the concerts in the tour.
CONCERT JOURNAL Autumn, 2021
Jazz History Online's new feature, Concert Journal, offers capsule reviews of performances from various locations up and down the Atlantic seaboard. This regularly updated column is part of JHO's new focus on live performance. Thomas Cunniffe acts as reviewer and guide.
THE SOUNDS OF CHICAGO
After a busy summer covering jazz concerts on the East Coast, Jazz History Online's Thomas Cunniffe traveled to Chicago and caught performances by several of the Windy City's finest local musicians…plus one notable alumni, Herbie Hancock. In this special essay review, Cunniffe discusses each concert, as well as a special memorial for the late Penny Tyler.
CONCERT JOURNAL (Spring/Summer 2021)
THE SWINGLES AT POPEJOY HALL, ALBUQUERQUE, NM (December 19, 2019)
In a holiday-themed concert at Popejoy Hall in Albuquerque, The Swingles proved once again that they are without equals among vocal groups. While the group was able to overcome the temporary loss of one member when they sang in Lakewood Colorado last March, their concert in Albuquerque found the entire group present and in splendid voice. In this concert review, Thomas Cunniffe reports that while The Swingles are still in transition, they are at the top of their game performing a wide variety of arrangements (including some dating back to the group's early years)
CHICK COREA/CHRISTIAN McBRIDE/BRIAN BLADE AT MACKY AUDITORIUM (Boulder; October 9, 2019)
The supertrio of Chick Corea, Christian McBride and Brian Blade has so much musical experience that their concert performances can–and frequently do–go in many different directions. At a recent performance at Macky Auditorium, the group used compositions by jazz giants to illustrate its expansion of the trio style. However, "Trilogy 2", the double CD documenting the group's last world tour, offers a freer approach and a (mostly) different repertoire. Thomas Cunniffe reviews both the concert and the CD in this special combined review.
VAIL JAZZ PARTY (August 29-September 2, 2019)
The 25th Vail Jazz Party featured its usual mix of returning and new artists, several new recurring performances, a new venue for the Party's most popular event, and an energetic festival staff that is building on the Vail legacy to create new and exciting additions to the existing festival. Thomas Cunniffe's review is accompanied with photos from several fine photographers.
ANN HAMPTON CALLAWAY AT VAIL SQUARE (July 25, 2019)
For Ann Hampton Callaway, her "Jazz Goes to the Movies" concerts are more than just misty-eyed trips down memory lane. As she explained to the audience at Vail Square on July 25, 2019, the music explores dreams, both as wish fulfillment and as a salve for a troubled world. In an 18-song, two-act show, she […]
Concert Reviews	by Thomas Cunniffe June 6, 2019 October 23, 2021
CYRILLE AIMÉE AT THE SOILED DOVE, DENVER (June 6, 2019)
The Soiled Dove, a 300-seat club in East Denver was transformed into an intimate cabaret on June 6, 2019, as Cyrille Aimée presented her jazzy interpretations of Stephen Sondheim's Broadway songs. Thomas Cunniffe was there, and in this Concert Review, he reports that the music's presentation varied considerably from her recent CD, as Cyrille used a reduced instrumentation (piano and bass) and added detailed introductions of the songs.
The Swingles at Lakewood Cultural Center (March 16, 2019)
The loss of a voice can be traumatic to a chamber vocal group. The Swingles arrived for their concert in Lakewood, Colorado, minus one pivotal member, lead soprano Federica Basile, who was unable to travel due to a delayed US artist visa. The group members did some crafty editing of their arrangements, and performed 6-voice versions, with everyone in the group helping to cover the missing soprano notes. Thomas Cunniffe, a longtime fan of the group, reviewed the concert, and reports that the program was still entertaining and that there were no obvious gaps in the harmony.
Page 1 Page 2 Page 3 … Page 5 Next

redpajama_set_name: RedPajamaCommonCrawl


text:
MARK LUND
Mark Lund is an award-winning filmmaker, screenwriter and publisher. He's also a television personality, producer and actor.
In 1993 Mark Lund founded International Figure Skating magazine and built it into the world's largest magazine for the sport and with it Ashton International Media into a $4 million enterprise that included six magazines along with a cruise travel and special events division.
In 2002 Lund authored his first book Frozen Assets: The New Order of Figure Skating.
Since 1994 Lund has been selected by television and media outlets to analyze the sport of figure skating. His most notable work came during the 2002 Winter Olympics, where he made over 220 appearances on domestic and international TV networks, including CNN, ABC, CBS, MSNBC, FOX, ESPN, BBC, NPR, CBC and CTV. His work in the sport of figure skating landed him as a judge on FOX's Skating with Celebrities in 2006.
After Ashton International Media Lund founded Scene, a contemporary newsmagazine that was distributed in nine countries.
During Ashton and Scene his production of direct response TV commercials, major events and video projects have been broadcast on ABC, ESPN, TBS, LOGO and Royal Caribbean International.
Leaving Scene in 2006, Lund combined his passion for science fiction and space exploration and wrote the feature-length screenplay, First World. Nominated for screenplay awards at the California Independent Film Festival, The Movie Deal and Fantastic Planet Film Festival, Lund condensed the story and produced a 25-minute short film version that screened at 20 sci-fi conventions in the United States, Australia, Japan, Great Britain, Ireland and India. First World was released on Amazon and Hulu in 2009.
In 2008 Lund served as Director of an IMTA talent/modeling program. His 20 students achieved great success at the IMTA New York City convention that year with over 120 callbacks and 100+ awards.
From 2009-2010 Lund was the drama director for Becker College where he produced/directed Break Fast, Antigone Now and The Long Red Herring – resurrecting the school's drama program after a 20-year hiatus. Later that year he wrote the screenplay Justice Is Mind based on thought-identification technology and neurolaw.
In 2011 his ebook First World: Covenant, a prequel novella to the screenplay First World, was published. That fall, Lund produced and directed the short film Evidence based on Justice Is Mind.
Premiering Evidence theatrically in early 2012, Lund secured funding to produce the feature length version. Justice Is Mind had its world premiere at The Palace Theatre in Albany, NY on August 18, 2013 as part of the Capital District Film Festival. Justice Is Mind had 21 screenings to enthusiastic audiences at select theatres, universities and sci-fi conventions. Justice Is Mind had its international premiere on Cunard Line's Queen Elizabeth in 2014. According to IMDb, Justice Is Mind finished 2013 as the 8th "Highest Rated Independent Film Feature Films Released" and 2014 in the top 1% of all entries. Justice Is Mind is now available on a variety of VOD platforms including Amazon Prime and Tubi.
Lund returned to figure skating in 2016 with Serpentine. In this Cold War modern day political thriller, Lund directed the first ten pages of the script to develop interest in the project. Serpentine: The Short Program was released in 2017.
From 2016-2018 Lund played an NCIS Special Agent in the Naval Justice School's mock trial program. Lund directed the fourteen actors in the program on behalf of U.S. government contractors.
In July 2019 Lund wrapped principal photography on his second feature film First Signal. A prequel to First World, First Signal had its world premiere at the Greenfield Garden Cinemas in Greenfield, MA on March 26, 2021. Called, "An Impressive Accomplishment" by Film Threat magazine, First Signal was an official selection of 28 film festivals, winning 17 and was in the top 1% of all entries on IMDb. First Signal is now available on several VOD platforms including Amazon Prime, Tubi and Vudu. On YouTube, First Signal has received over 1M views.
Other projects in development through The Ashton Times include In Mind We Trust, the sequel to Justice Is Mind, and SOS United States a political thriller.
"Mark is wonderful, engaging
TV personality."
Red Brick Entertainment
Skating With Celebrities
"It's Mark Lund's writing that makes these interactions what they are, for there is so much intelligence in the dialogue."
Unsung Films review


text:
Q: How to fix Error Code: 2068. LOAD DATA LOCAL INFILE file request rejected due to restrictions on access? When I execute the code below I get Error Code: 29. File '/Applications/XAMPP/xamppfiles/htdocs/Gefle442/csv/places.csv' not found (Errcode: 13 "Permission denied")
USE Gefle442;
CREATE USER IF NOT EXISTS 'jim'@'localhost' IDENTIFIED BY 'x';
GRANT ALL ON games.* TO 'jim'@'localhost';
SET NAMES 'utf8mb4';
SET GLOBAL local_infile = "ON";

DROP TABLE IF EXISTS gamestats;
DROP TABLE IF EXISTS games;
DROP TABLE IF EXISTS arenas;
DROP TABLE IF EXISTS standings;
DROP TABLE IF EXISTS formations;
DROP TABLE IF EXISTS competitions;
DROP TABLE IF EXISTS people;
DROP TABLE IF EXISTS teams;
DROP TABLE IF EXISTS places;

CREATE TABLE places (
    ID integer(5) unique not null,
    Place varchar(40),
    Municipality varchar(40),
    Country varchar(40),
    Continent varchar(40),
    PRIMARY KEY (ID)
)
ENGINE INNODB
CHARSET utf8mb4
COLLATE utf8mb4_swedish_ci
;
LOAD DATA INFILE '/Applications/XAMPP/xamppfiles/htdocs/Gefle442/csv/places.csv'
INTO TABLE places
CHARACTER SET utf8mb4
FIELDS OPTIONALLY ENCLOSED BY '"'
    TERMINATED BY ','
LINES
    TERMINATED BY '\r\n'
IGNORE 1 LINES
;

I've tried using LOAD DATA LOCAL INFILE which gives me Error Code: 2068. LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
Grateful for any help and let me know if you want me to provide more detail.

A: Solved now. Allowed read access to all files in Xampp folder by choosing the setting "Use for included objects" (don't know exactly what it's called in English) on the Xampp parent folder.

redpajama_set_name: RedPajamaStackExchange


text:
Joe Rogan and the Ethics of Apology (Episode #273)…
"In this episode of the podcast, Sam responds to the controversy over his friend Joe Rogan's use of the N-word and his subsequent public apology.
Gatekeeping on platforming?…
…You're going down a terrible, very dangerous path, Sam.
I agree with everything else, though.
On average, this is a very good commentary.
This entry was posted in Atheist Media, Wordpress Archive on February 8, 2022 by eqfoundation.
Brie Larson CANCELLED Over NFTs! Twitter Brie Stans are FURIOUS!…
"Brie Larson is bragging about her new NFT avatar on Twitter, and the Brie Stans are absolutely LOSING it. Hell hath no fury like an activist platform being scorned. I love watching people complain about NFTs and blockchain on a platform that wholeheartedly embraces NFTs and blockchain…"
This entry was posted in Club Diamond Lounge, Dumb Culture, Twitter, Wordpress Archive on February 8, 2022 by eqfoundation.
Gina Carano SLAMS Media Over Whoopi Goldberg Double Standard…
"Gina Carano claims journalists haven't done their research, or they wouldn't have misquoted her time and time again. Carano, of course, was fired by Disney / Lucasfilm for a less offensive take than Whoopi Goldberg… who got off with a two week suspension. The Goldberg situation is opening up old wounds with other cancelled Disney celebs, including Roseanne Barr. Will Disney decide that they need to EVENLY enforce the rules of cancellation…?"
This entry was posted in Censorship, Club Diamond Lounge, Dumb Culture, Wordpress Archive on February 8, 2022 by eqfoundation.
Krystal and Saagar Breakdown: Rogan Episodes Removed Amid N-Word Controversy…
"Krystal and Saagar break down the developments in the Joe Rogan , Spotify saga as the streaming service has removed some of his podcast episodes and videos of Rogan using the n-word have resurfaced"
This entry was posted in Correct (I Agree), Dumb Culture, The Dirty Game Explained, The System Gone Wrong, Wordpress Archive, Yellow Journalism on February 7, 2022 by eqfoundation.
"Mike Pence Has 2 Options…" – Olivia Troye, Former Aide to Vice President Mike Pence…
This entry was posted in Political Clown Car Derby, Wordpress Archive on February 7, 2022 by eqfoundation.
Could Wizards of the Coast GET SOLD to Microsoft or Sony?…
"It's been rumored that Hasbro has been prepping Wizards of the Coast for sale for a few years now. Hasbro's new CEO is from Microsoft gaming… and so is the new head of Wizards of the Coast. WotC is being reorganized and turned into a AAA video game studio… the kind of company that Microsoft or Sony would LOVE to acquire. Could we see Dungeons & Dragons crossover with Warcraft on an Xbox console one of these days…?"
This entry was posted in Club Diamond Arcade, Wordpress Archive on February 7, 2022 by eqfoundation.
Quit Twitter. It's Not an 'Ethical' Platform…
"The comic industry's war on crypto continues… on Twitter. A platform that has wholeheartedly embraced crypto, blockchain and NFTs. Does anybody else think it's weird they call for boycotting platforms over a technology… on a platform that is one of the worst offenders? Shouldn't you QUIT TWITTER in protest? Why are you still there? Shoo!
Then we dip back in on the insanity that is the attempted cancellation of Brie Larson over NFTs. Some Twitter users literally think they fought a "war" for her…"
Twitter is keeping marginalized people down…and it's a hate speech site.
Neil Young Was HUGE Science Skeptic Before COVID…
"Neil Young has been widely lauded by vaccine advocates for taking a stand against the anti-science misinformation allegedly spread by Joe Rogan. But it turns out that years ago Young helped lead the charge against genetically modified organisms, contrary to the scientific consensus.
Jimmy and comedian Kurt Metzger discuss Neil Young's curious about face on the importance of parroting the dominant narrative on science-based issues."
This entry was posted in Censorship, Dumb Culture, Wordpress Archive on February 6, 2022 by eqfoundation.
Krystal and Saagar MOCK CNN's DOOMED Streaming Service…
"Krystal and Saagar comment on the attempt by CNN to venture into the streaming world with a premium news service and other content"
This entry was posted in Dumb Culture, Wordpress Archive on February 6, 2022 by eqfoundation.
GOOD NEWS: Intel, GM Invest BILLIONS In Ohio, Michigan…
"Krystal and Saagar break down the decisions by General Moters & Intel to invest billions in domestic manufacturing facilities to help combat the semiconductor shortage and supply chain bottleneck"
It's about time!
This entry was posted in Wordpress Archive on February 6, 2022 by eqfoundation.


The story takes place at the end of the Qing Dynasty and beginning of the Republic of China, following a bunch of youths in a time of turbulence, power struggles, and nation's pride. Huang Zi Tao and Jackson Yi play dual lead roles; Huang Zi Tao plays Chong Li Ming, a leader to one of Eight Banners aka elite forces of the Qing military. But his other identity is the leader to a special royal organization (assassination group), Yan Shi Fan, which protects the nation. Despite A Yi's humbling background, he encourages the boy to join. A Yi is described as beautiful, quiet, and cruel, with potentials to become a killing machine. A profound friendship develops among the men as they go through difficulties and challenges, realizing their ideals and desire to protect their homeland, and joining the revolution. ~~ Adapted from a novel.
Yan Shi Fan , Ondramanice , Myasiantv , Dramacool9 , Watchasian , Newasiantv , FastDrama , Yan Shi Fan Chinese Drama, Watch 艳势番, Yan Shi Fan Zhi Xin Qing Nian, Brilliant Young People, Brilliant, 艳势番之新青年 eng sub, Yan Shi Fan online ep 1, ep 2, ep 3, ep 4, watch 艳势番, Yan Shi Fan Zhi Xin Qing Nian, Brilliant Young People, Brilliant, 艳势番之新青年 ep 5, ep 6, ep 7, ep 8, ep 9, ep 10, Yan Shi Fan dub drama Cantonese, watch Yan Shi Fan ep 11, ep 12, ep 13, ep 14, ep 15, Yan Shi Fan drama ep 16, ep 17, ep 18, ep 19, ep 20,Ep 21,22,23,24,25,26,27,28,29,30 ENGSUB Yan Shi Fan english subtitle, Yan Shi Fan chinese subtitle, Yan Shi Fan kdrama, Watch 艳势番, Yan Shi Fan Zhi Xin Qing Nian, Brilliant Young People, Brilliant, 艳势番之新青年 free drama online - Yan Shi Fan kissasian, Yan Shi Fan myasiantv, Yan Shi Fan dramacool, Yan Shi Fan dramanice, Yan Shi Fan newasiantv, Yan Shi Fan drama3s .


text:
require 'spec_helper'

describe Gitlab::GithubImport::Importer, lib: true do
  shared_examples 'Gitlab::GithubImport::Importer#execute' do
    let(:expected_not_called) { [] }

    before do
      allow(project).to receive(:import_data).and_return(double.as_null_object)
    end

    it 'calls import methods' do
      importer = described_class.new(project)

      expected_called = [
        :import_labels, :import_milestones, :import_pull_requests, :import_issues,
        :import_wiki, :import_releases, :handle_errors
      ]

      expected_called -= expected_not_called

      aggregate_failures do
        expected_called.each do |method_name|
          expect(importer).to receive(method_name)
        end

        expect(importer).to receive(:import_comments).with(:issues)
        expect(importer).to receive(:import_comments).with(:pull_requests)

        expected_not_called.each do |method_name|
          expect(importer).not_to receive(method_name)
        end
      end

      importer.execute
    end
  end

  shared_examples 'Gitlab::GithubImport::Importer#execute an error occurs' do
    before do
      allow(project).to receive(:import_data).and_return(double.as_null_object)

      allow(Rails).to receive(:cache).and_return(ActiveSupport::Cache::MemoryStore.new)

      allow_any_instance_of(Octokit::Client).to receive(:rate_limit!).and_raise(Octokit::NotFound)
      allow_any_instance_of(Gitlab::Shell).to receive(:import_repository).and_raise(Gitlab::Shell::Error)

      allow_any_instance_of(Octokit::Client).to receive(:labels).and_return([label1, label2])
      allow_any_instance_of(Octokit::Client).to receive(:milestones).and_return([milestone, milestone])
      allow_any_instance_of(Octokit::Client).to receive(:issues).and_return([issue1, issue2])
      allow_any_instance_of(Octokit::Client).to receive(:pull_requests).and_return([pull_request, pull_request])
      allow_any_instance_of(Octokit::Client).to receive(:issues_comments).and_return([])
      allow_any_instance_of(Octokit::Client).to receive(:pull_requests_comments).and_return([])
      allow_any_instance_of(Octokit::Client).to receive(:last_response).and_return(double(rels: { next: nil }))
      allow_any_instance_of(Octokit::Client).to receive(:releases).and_return([release1, release2])
    end
    let(:octocat) { double(id: 123456, login: 'octocat') }
    let(:created_at) { DateTime.strptime('2011-01-26T19:01:12Z') }
    let(:updated_at) { DateTime.strptime('2011-01-27T19:01:12Z') }
    let(:label1) do
      double(
        name: 'Bug',
        color: 'ff0000',
        url: "#{api_root}/repos/octocat/Hello-World/labels/bug"
      )
    end

    let(:label2) do
      double(
        name: nil,
        color: 'ff0000',
        url: "#{api_root}/repos/octocat/Hello-World/labels/bug"
      )
    end

    let(:milestone) do
      double(
        id: 1347, # For Gitea
        number: 1347,
        state: 'open',
        title: '1.0',
        description: 'Version 1.0',
        due_on: nil,
        created_at: created_at,
        updated_at: updated_at,
        closed_at: nil,
        url: "#{api_root}/repos/octocat/Hello-World/milestones/1"
      )
    end

    let(:issue1) do
      double(
        number: 1347,
        milestone: nil,
        state: 'open',
        title: 'Found a bug',
        body: "I'm having a problem with this.",
        assignee: nil,
        user: octocat,
        comments: 0,
        pull_request: nil,
        created_at: created_at,
        updated_at: updated_at,
        closed_at: nil,
        url: "#{api_root}/repos/octocat/Hello-World/issues/1347",
        labels: [double(name: 'Label #1')]
      )
    end

    let(:issue2) do
      double(
        number: 1348,
        milestone: nil,
        state: 'open',
        title: nil,
        body: "I'm having a problem with this.",
        assignee: nil,
        user: octocat,
        comments: 0,
        pull_request: nil,
        created_at: created_at,
        updated_at: updated_at,
        closed_at: nil,
        url: "#{api_root}/repos/octocat/Hello-World/issues/1348",
        labels: [double(name: 'Label #2')]
      )
    end

    let(:repository) { double(id: 1, fork: false) }
    let(:source_sha) { create(:commit, project: project).id }
    let(:source_branch) { double(ref: 'feature', repo: repository, sha: source_sha) }
    let(:target_sha) { create(:commit, project: project, git_commit: RepoHelpers.another_sample_commit).id }
    let(:target_branch) { double(ref: 'master', repo: repository, sha: target_sha) }
    let(:pull_request) do
      double(
        number: 1347,
        milestone: nil,
        state: 'open',
        title: 'New feature',
        body: 'Please pull these awesome changes',
        head: source_branch,
        base: target_branch,
        assignee: nil,
        user: octocat,
        created_at: created_at,
        updated_at: updated_at,
        closed_at: nil,
        merged_at: nil,
        url: "#{api_root}/repos/octocat/Hello-World/pulls/1347",
        labels: [double(name: 'Label #2')]
      )
    end

    let(:release1) do
      double(
        tag_name: 'v1.0.0',
        name: 'First release',
        body: 'Release v1.0.0',
        draft: false,
        created_at: created_at,
        updated_at: updated_at,
        url: "#{api_root}/repos/octocat/Hello-World/releases/1"
      )
    end

    let(:release2) do
      double(
        tag_name: 'v2.0.0',
        name: 'Second release',
        body: nil,
        draft: false,
        created_at: created_at,
        updated_at: updated_at,
        url: "#{api_root}/repos/octocat/Hello-World/releases/2"
      )
    end

    it 'returns true' do
      expect(described_class.new(project).execute).to eq true
    end

    it 'does not raise an error' do
      expect { described_class.new(project).execute }.not_to raise_error
    end

    it 'stores error messages' do
      error = {
        message: 'The remote data could not be fully imported.',
        errors: [
          { type: :label, url: "#{api_root}/repos/octocat/Hello-World/labels/bug", errors: "Validation failed: Title can't be blank, Title is invalid" },
          { type: :issue, url: "#{api_root}/repos/octocat/Hello-World/issues/1348", errors: "Validation failed: Title can't be blank" },
          { type: :wiki, errors: "Gitlab::Shell::Error" }
        ]
      }

      unless project.gitea_import?
        error[:errors] << { type: :release, url: "#{api_root}/repos/octocat/Hello-World/releases/2", errors: "Validation failed: Description can't be blank" }
      end

      described_class.new(project).execute

      expect(project.import_error).to eq error.to_json
    end
  end

  let(:project) { create(:project, :wiki_disabled, import_url: "#{repo_root}/octocat/Hello-World.git") }
  let(:credentials) { { user: 'joe' } }

  context 'when importing a GitHub project' do
    let(:api_root) { 'https://api.github.com' }
    let(:repo_root) { 'https://github.com' }

    it_behaves_like 'Gitlab::GithubImport::Importer#execute'
    it_behaves_like 'Gitlab::GithubImport::Importer#execute an error occurs'

    describe '#client' do
      it 'instantiates a Client' do
        allow(project).to receive(:import_data).and_return(double(credentials: credentials))
        expect(Gitlab::GithubImport::Client).to receive(:new).with(
          credentials[:user],
          {}
        )

        described_class.new(project).client
      end
    end
  end

  context 'when importing a Gitea project' do
    let(:api_root) { 'https://try.gitea.io/api/v1' }
    let(:repo_root) { 'https://try.gitea.io' }
    before do
      project.update(import_type: 'gitea', import_url: "#{repo_root}/foo/group/project.git")
    end

    it_behaves_like 'Gitlab::GithubImport::Importer#execute' do
      let(:expected_not_called) { [:import_releases] }
    end
    it_behaves_like 'Gitlab::GithubImport::Importer#execute an error occurs'

    describe '#client' do
      it 'instantiates a Client' do
        allow(project).to receive(:import_data).and_return(double(credentials: credentials))
        expect(Gitlab::GithubImport::Client).to receive(:new).with(
          credentials[:user],
          { host: "#{repo_root}:443/foo", api_version: 'v1' }
        )

        described_class.new(project).client
      end
    end
  end
end

redpajama_set_name: RedPajamaGithub


text:
Phillies Rally Late to Drop the Cardinals
Published at 11:28 pm on June 21, 2011
They say that a walk is as good as a hit. Sometimes it's rubbish, but Tuesday night in St. Louis, it was good as gold for the Philadelphia Phillies, who used the base on balls to rally late and down the Cardinals, 10-2, to open their three game set.
With Roy Halladay on the mound looking for this 10th win, the Phillies only needed to put together a few hits in the early goings to get back in the win column after dropping two of three to the Seattle Mariners over the weekend. The right-hander didn't have his best stuff, but held the Cardinals to only one run on four hits over six innings of work.
He was matched by Cardinals' starter Kyle McClellan, who matched him toe-to-toe by holding the Phillies to one run on five hits over seven innings. It was a good enough effort, as his offense provided him with a pair of runs – one via an RBI groundout in the bottom of the fifth and another on a sacrifice fly in the bottom of the seventh to give them a 2-1 advantage.
It wasn't enough, as the Phillies came roaring back in the top of the eighth, when they put nine runs on the board, thanks to four walks, a pair of hit batters and four base hits and a curious managerial move from Cardinals' manager Tony La Russa. With two on and one out and Ryan Howard due up, La Russa chose to pull his lefthander Trevor Miller in favor of hard throwing right-hander Jason Motte. The move didn't pay off, as Motte hit Howard in the elbow to load the bases, followed by another HBP to Placido Polanco to force in a run. Two batters later, Ben Francisco roped a two-out single through the left side to give the Phillies the lead, and they would pile on from there.
With the bases still loaded, both Carlos Ruiz and Michael Martinez walked to force in a pair of runs, which was followed by an RBI single to Jimmy Rollins. After a walk to Shane Victorino, the Phillies were given some extra insurance from Chase Utley and Ryan Howard, who both came through with RBI singles.
It was far more than enough for the Phillies, who sent 14 batters to the plate and put nine runs on the board to take the lead in the late innings.
Despite the offensive woes for the first seven frames, all it took to jump start the bats was a handful of miscues from the Cardinals, and the Phillies did not fail to take advantage.
On the down side of things, the Phillies did get some bad luck in the top of the eighth, when Placido Polanco was forced to leave the game after taking a fastball off his left hand in the middle of the rally. Post-game X-Rays on his hand were negative.
The Phillies will look to make it two in a row on Wednesday night, when they send Cliff Lee (7-5, 3.12) to the hill, where he will be opposed by former Phillie, Kyle Lohse (7-3, 2.88).